寬字節(jié)注入及其防御

0x00什么是寬字節(jié)?

即用兩個(gè)字節(jié)儲(chǔ)存一個(gè)字符
比如GB2312,GBK,GB18030,BIG5,Shift_JIS
高8位>128

0x01寬字節(jié)注入原理

image.png

0x02程序上的體現(xiàn)(白盒)

1.mysql編碼為雙字節(jié)編碼

mysql_query("SET NAMES gbk");

2.使用preg_replace進(jìn)行轉(zhuǎn)義

$string = preg_replace('/'. preg_quote('\\') .'/', "\\\\\\", $string);          
$string = preg_replace('/\'/i', '\\\'', $string);                               
$string = preg_replace('/\"/', "\\\"", $string);              

3.使用addslashes進(jìn)行轉(zhuǎn)義

$string= addslashes($string);  

4.使用mysql_real_escape_string進(jìn)行轉(zhuǎn)義

$string= mysql_real_escape_string($string);

0x03防御寬字節(jié)注入

1.使用utf-8
2.mysql_real_escape_string,mysql_set_charset('gbk',$conn)
3.設(shè)置參數(shù),character_set_client=binary

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 01 背景知識(shí) 字符集 在了解寬字節(jié)注入之前,我們先來看一看字符集是什么。字符集也叫字符編碼,是一種將符號(hào)轉(zhuǎn)換為二...
    Ackerzy閱讀 2,978評(píng)論 0 7
  • 網(wǎng)頁(yè)出現(xiàn)亂碼的原因: 客戶端與數(shù)據(jù)庫(kù)的數(shù)據(jù)傳輸處編碼、數(shù)據(jù)庫(kù)存儲(chǔ)處編碼,兩者編碼不同,就會(huì)出現(xiàn)亂碼。還有一種情況,...
    FKTX閱讀 2,815評(píng)論 0 0
  • 寬字節(jié)注入是因?yàn)閿?shù)據(jù)庫(kù)使用了GBK編碼,不過現(xiàn)在大都使用unicode國(guó)際編碼,大多數(shù)網(wǎng)站都使用了utf-8的編碼...
    CSeroad閱讀 28,345評(píng)論 7 4
  • 有時(shí)候 我感覺自己很渺小 就像大千世界里的一顆沙礫 可有可無 但是我想啊 沙礫在太陽(yáng)的折射下也會(huì)發(fā)光 在蚌殼的孕育...
    Sunrise云逸閱讀 552評(píng)論 1 1
  • 楊冪冪、阮經(jīng)天、白猿、你可以看看、然后淡出、那么淡定、2013、2012、2011,2010,2009,2008 ...
    你我他有都有閱讀 128評(píng)論 0 0

友情鏈接更多精彩內(nèi)容