Hello there, ('ω')ノ
SQL インジェクションで情報漏えいのバグを連鎖させた方法を。
脆弱性:
SQLインジェクション
.gitフォルダの公開
記事:
https://goziem.medium.com/how-i-chained-an-information-disclosure-bug-to-sql-injection-bca936d90fb1
SQLインジェクションとは、攻撃者がアプリケーションの入力フィールドに
悪意のある SQL ステートメントを入力できる場合に発生する、
Web アプリケーションのセキュリティ脆弱性の一種で。
このタイプの攻撃は、多くの Web アプリケーションがユーザ入力を
適切に検証またはサニタイズせずに受け入れているという事実を利用して。
ターゲットのサブドメインを取得し、エンドポイントの 1 つである
ログイン ページにアクセスし。
このページにアクセスしているときに DotGit Chrome 拡張機能を
チェックしたところ、サイト上で公開されている Git リポジトリに
関するメッセージが表示され。
https://chrome.google.com/webstore/detail/dotgit/pampamgoihgcedonnphgehgondkhikel?hl=en
それをクリックすると、.git/index ディレクトリがダウンロードされて。
ファイルを確認してみると、膨大な数の未認証のディレクトリが公開されていて。
各エンドポイントを訪問しようと最善を尽くしましたが、
そのうちの 1 つが目立っていて。
次のような MySQL エラー メッセージが明らかになり。
まず nom_hachage パラメータを URL に追加すると、次のようになり。
https://target.com/endpoint.php?nom_hachage='
エラー メッセージは、nom_hachage パラメータにある内容にすぐに変更され。
リクエスト全体を Ghauri と Sqlmap の両方に送信して。
ghauri -u https://target.com/endpoint.php?nom_hachage=1 --dbs
python3 sqlmap.py -u https://target.com/endpoint.php?nom_hachage=1
https://github.com/r0oth3x49/ghauri
Sqlmap がまだエクスプロイトを探している間に、
Ghauri は 15 分以内にデータベース名とユーザを取得することができて。
ヒント:
最大限の効果を得るために、常にバグを連鎖させて。
Best regards, (^^ゞ