Hello there, ('ω')ノ
一意のURLを参照して取得するだけでブラインドSQLiを見つけた方法を。
脆弱性:
SQLインジェクション
記事:
サイトは、LaravelFrameworkに基づいていて。
MYSQL DATABASEを使用しているのではないかと思って。
そこで、そのサイトでブラインドSQLインジェクションをテストすることに。
すべてのURLを手動で参照すると。
それらはBURP SUITEのHTTP HISTORYに収集されて。
通常は利用できない独自のPOSTリクエストを見つけたので。
Burp Suiteのようなプロキシを使って、手動でブラウジングすると。
一意のURLが取得されることがあることを思い出して。
WEB APPLICATION HACKERS HANDBOOKで読んで。
そのPOSTリクエストで多くのパラメータを見つけて。
下記のペイロードでそれらのパラメータをチェックし始めると。
‘XOR(if(now()=sysdate(),sleep(5*1),0))OR’
驚いたことに、それは機能して5秒間sleepしたので。
すぐにリクエストをコピーして、SQLMAPを使うことに。
別のSQLMAPコマンドを使用したものの。
ファイアウォールが現在のデータベースのフェッチをブロックしていたので。
次に、下記のコマンドを起動することに。
sqlmap.py -r request.txt -p “value” -v 3 --level=5 --risk=3 --time-sec=15 --tamper=between --current-db --no-cast
すると現在のデータベース名を取得できて。
要点:
データベースクエリを実行していると思われるすべてのリクエストを常に確認して。
手動テストとファジングを使用してSQLインジェクションを確認して。
それらの応答を注意深く確認してみて。
Best regards, (^^ゞ