寬字節(jié)注入
?造成寬字節(jié)注入的原因腰耙,主要是因?yàn)槭褂昧藢捵止?jié)編碼榛丢,導(dǎo)致一些字符被繞過
?當(dāng)我們注入 1' 時(shí),若被轉(zhuǎn)義成 1\' 挺庞,注入就失效了( \' 的url編碼為%5c%27)
?當(dāng)服務(wù)器的數(shù)據(jù)使用GBK編碼時(shí)我們注入%df%5c%27晰赞,其中 %df%5c 被GBK編碼成 縗 ,%27編譯成 ' 选侨,而在服務(wù)端初次處理時(shí)處理為 %df\' ,此時(shí)程序認(rèn)為 ' 號(hào)已被轉(zhuǎn)義掖鱼,但傳入數(shù)據(jù)庫時(shí) %df\ 組合成了 縗,因此就成功繞過了轉(zhuǎn)義
寬字節(jié)注入的靶場以及writeup
http://www.reibang.com/p/ede6aac5ba8c
二次編碼注入
?造成二次編碼注入的原理主要是因?yàn)榉?wù)器處理字符串的順序不對(duì)
?當(dāng)輸入 id=1%27 --url編碼--> id=1' --轉(zhuǎn)義--> id=1\' (失斣啤)
?如果程序在轉(zhuǎn)義之后再次urldecode編碼戏挡,就會(huì)造成二次編碼注入
?當(dāng)輸入 id=1%2527 --url編碼--> id=1%27 --轉(zhuǎn)義--> id=1%27 --urldecode()--> id=1' (成功注入)