實驗吧登陸一下好嗎 WP
登陸一下好嗎??(http://www.shiyanbar.com/ctf/1942) username= 1’=’0 password= 1’=’0 或者 username=what’=’ password=what’=’ 或者 username:admin’=’ password:admin’=’ 得到ctf{51d1bf8fb65a8c2406513ee8f52283e7} 好吧,其實我提供的只是萬能密碼嘗試而已,真正的writeup在這裡(by wonderkun,侵刪):
根據題目的提示,獲知該題目的目的使用sql注入來繞過登陸。
猜測後臺的sql應該是
select * from table where username= ‘u
進過測試,發現過濾了以下字元
| , – , or , union , # , select ,* ,/
這寫字元沒辦法繞過。
但是為了登陸成功,需要讓 sql語句返回true。
除了pact想到的同雙等號繞外,還有一種方法,主要用到以下兩個技巧:
第一: mysql的資料型別轉換特性。 通過這個圖,應該可以看明白啦, user是一個字串型別的,當他接受到一個整型值切值為0的時候,就會返回資料庫的所有條目。 一個字串加一個整形,會自動的變數型別轉換,變為一個整型。
所以,只需要讓sql執行
select * from table where username=’a’+0;
就可以返回一個ture了,但是你會發現註釋符全部過濾啦,後面的部分去不掉,這時候你需要知道下面的姿勢。
第二: mysql的註釋符除了
– + , # ,/**/ 之外,還有一個 ;%00 ,很多人都不知道最後一個。
所以最後的payload 是這樣的: username=a’+0;%00&password=