Less 34
基于錯(cuò)誤_POST_單引號(hào)_字符型_addslashes()_寬字節(jié)注入
時(shí)隔多天終于又看到了 POST 親切的界面。
這關(guān)有幾種注入方式,《注入天書(shū)》中介紹因 POST 不能進(jìn)行 URLencode,可使用 UTF-8 轉(zhuǎn) UTF-16 或 UTF-32潜必,實(shí)踐中發(fā)現(xiàn)正常的寬字節(jié)注入仍有效,猜測(cè)是編碼的問(wèn)題沃但,待解決磁滚。
一個(gè)參考:Unicode令人混淆的概念,編碼這種東西應(yīng)該要系統(tǒng)地學(xué)習(xí)。
0x01. 寬字節(jié)注入
寬字節(jié)注入和 GET 中并無(wú)差別垂攘,原理在 Less 32 中已詳細(xì)介紹维雇,使用%bb%27
或%bb%5c%5c%27
代替'
均可,在這里同樣可以平級(jí)越權(quán):
uname=%bb' or 1 limit 1,1#&passwd=1
通過(guò)修改偏移limit
可以平級(jí)越權(quán)得到其他賬號(hào)的回顯信息晒他。
這里的符號(hào)也可以換成 URL 編碼:#
=%23
吱型,'
=%27
,(空格)
=%20
=+
等陨仅。
已經(jīng)繞過(guò)了addslashes()
的過(guò)濾津滞,確定了單引號(hào)閉合且無(wú)其他過(guò)濾,剩下的同 POST 最基本注入灼伤,可見(jiàn) Less 11触徐。
0x02. 編碼轉(zhuǎn)換注入
《注入天書(shū)》中,介紹了將 UTF-8 的'
轉(zhuǎn)換為 UTF-16 的?'
實(shí)現(xiàn)注入的方法饺蔑。這個(gè)字符我也不知道是什么锌介。
在Unicode和UTF編碼轉(zhuǎn)換網(wǎng)站上的轉(zhuǎn)換結(jié)果:
直接復(fù)制進(jìn) Burp:
注意:這里的or 1
是or 1=1
的簡(jiǎn)化寫(xiě)法嗜诀,只要是永真條件均可猾警,同樣的還有or true
、or 2>1
等隆敢。
0x03. POST盲注
本關(guān)有正確回顯和錯(cuò)誤回顯发皿,且除了addslashes()
無(wú)任何過(guò)濾,無(wú)論是 Bool 還是 Time 盲注都可以做到拂蝎,參考前面的 POST 盲注腳本穴墅。
Less 37
基于錯(cuò)誤_POST_單引號(hào)_字符型_mysql-real-escape-string()_寬字節(jié)注入
在 Less 36 中已介紹了mysql_real_escape_string()
這個(gè)函數(shù)的原理,可以知道mysql_real_escape_string()
和addslashes()
的注入方式是一樣的温自。
至此玄货,Page 2 的過(guò)濾繞過(guò)部分已經(jīng)完成,如果你跟到這里悼泌,恭喜你跟著我在這個(gè)門(mén)里走了兩步了【笑松捉。