「Authentication Bypassing Admin Panel On Indian Gov Website That leads to full admin access control」からSQLiを学ぶ

ソース:

medium.com

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

 

訳:

このブログで説明します。 管理者ログイン パネルを回避する方法と、それが完全な管理者アクセス制御につながる場所。

 

SQLインジェクションについて

SQL インジェクション (SQLi) は、アプリケーションがデータベースに対して行うクエリを攻撃者が妨害できるようにする Web セキュリティの脆弱性で。
通常、攻撃者は通常は取得できないデータを閲覧できるようになり。
これには、他のユーザーに属するデータ、またはアプリケーション自体がアクセスできるその他のデータが含まれる場合があります。
多くの場合、攻撃者はこのデータを変更または削除し、アプリケーションのコンテンツや動作に永続的な変更を引き起こす可能性があり。

状況によっては、攻撃者が SQL インジェクション攻撃をエスカレートして、基盤となるサーバーやその他のバックエンド インフラストラクチャを侵害したり、サービス拒否攻撃を実行したりする可能性があり。

 

SQLインジェクションのタイプ

クラシック SQL インジェクション : これには、アプリケーションの入力を操作して悪意のある SQL クエリを挿入することが含まれ。 これは、ユーザー入力が SQL クエリに組み込まれる前に適切にサニタイズされていない場合によく発生し。

ブラインド SQL インジェクション: このタイプでは、攻撃者はアプリケーションから直接応答を受け取らず。 代わりに、アプリケーションの応答のタイミング遅延やエラーを利用して情報を推測し。

時間ベースのブラインド SQL インジェクション : 攻撃者は、アプリケーションの応答に時間遅延を引き起こすことで、特定の条件が true か false かを判断できます。 これは、間接的にデータを抽出するのに役立ち。

エラーベースの SQL インジェクション : 攻撃者は、データベース構造またはデータに関する情報を取得するために、アプリケーションの SQL クエリで意図的にエラーを引き起こし。

Union ベースの SQL インジェクション : 攻撃者は UNION SQL 演算子を悪用して 2 つ以上の SELECT ステートメントの結果セットを結合し、アクセスすべきではないデータにアクセスする可能性があり。

アウトオブバンド SQL インジェクション : このタイプには、攻撃者が制御する外部サーバーへの接続をトリガーし、特定のセキュリティ対策をバイパスすることが含まれ。

 

脆弱性: SQLi - 認証管理パネルのバイパス 

ペイロード URL: https://github.com/payloadbox/sql-injection-payload-list/blob/master/Intruder/exploit/Auth_Bypass.txt

 

再現手順

ステップ 1: 管理者ログイン ページに移動する

ステップ 2 : 次に、ユーザー名またはパスワードのフィールドにペイロードを入力します。

使用されるペイロード : admin' or '1'='1'#

ステップ 3: ペイロードを入力し、送信ボタンをクリックします。

 

管理者ログインページ 

 

ステップ 4: 数秒待つと、正常にログインできます。

 

 

SQLインジェクションの影響

 

SQLインジェクション攻撃が成功すると、パスワード、クレジット カードの詳細、個人ユーザー情報などの機密データに不正にアクセスされる可能性があり。
近年、注目を集めているデータ侵害の多くは SQLインジェクション攻撃の結果であり、風評被害や規制上の罰金につながっていて。
場合によっては、攻撃者が組織のシステムへの永続的なバックドアを取得し、長期間気付かれないまま長期的な侵害につながる可能性があり。

 

ほなほな。