Logical MSSQL Error-Based Injection Vulnerability on Private Program から学ぶ

ソース:

medium.com

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

 

訳:

導入:

最近、プライベート プログラムに参加しているときに、特定のエンドポイントで重大なセキュリティ脆弱性を発見しました。これを「 https://evil.com/path/test.aspx 」と呼びます
この脆弱性は、論理 MSSQL エラーベースのインジェクションは、プラットフォームのセキュリティに重大な脅威をもたらしました。

 

発見:

エンドポイントにアクセスするとhttps://evil.com/path/test.aspx というエラー メッセージが表示され 、「 Incorrect syntax near ‘=’.」 、インジェクションの潜在的脆弱性を示唆しました。
などのパラメータを操作してブルートフォース攻撃を開始しました 脆弱性はすぐには確認されませんでしたが、「 fuzz=etc 」
最初は特に目立った反応は得られませんでしたが、粘り強く続けた結果、さらに実験を続けることができました。

搾取:

パラメータに値 「“”) を追加すると、テーブル名が長すぎることを示すエラーが発生し、SQL インジェクションの脆弱性の存在が示されました。
インジェクションペイロードをさらに改良し、任意のコマンドを実行するクエリのバランスをとることに成功しました。
例えば:

 

 

https://evil.com/path/test.aspx?fuzz=1')--+-"

https://evil.com/path/test.aspx?fuzz=1') and 1=@@version — +-

 

インパクト:

この脆弱性を悪用すると、すべてのテーブル列をダンプし、機密データにアクセスし、システムの整合性を損なう可能性がありました。 この重大なセキュリティ上の欠陥の結果、私は 5,400 ドルの報奨金を受け取りました。 発見に対して

 

ほなほな。