Shikata Ga Nai

Private? There is no such things.

How I found Blind SQL Injection just by browsing and getting a unique URLを訳してみた

Hello there, ('ω')ノ

 

一意のURLを参照して取得するだけでブラインドSQLiを見つけた方法を。

 

脆弱性:

 SQLインジェクション

 

記事:

 https://medium.com/@jawadmahdi/how-i-found-blind-sql-injection-just-by-browsing-and-getting-a-unique-url-ed87fa1f35ed

 

サイトは、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

 

すると現在のデータベース名を取得できて。

 

f:id:ThisIsOne:20210805151442p:plain

 

要点:

データベースクエリを実行していると思われるすべてのリクエストを常に確認して。

手動テストとファジングを使用してSQLインジェクションを確認して。

それらの応答を注意深く確認してみて。

 

Best regards, (^^ゞ