ソース:
脆弱性:Subdomain, Auth, BAC, SQLi, RCE
訳:
説明:
この話は 2022 年に私がBugcrowdに認証バイパスのリードを報告したときの話ですが SQLI&RCE のプライベート プログラムの 、バグは報告のわずか 1 日後に修正され。
2024/3 に 私 と orwa は 古いバグを再テストすることに。
私たちが再テストしていたターゲットは、 admin.Target.com
を使用しました サブドメインファジング このコマンドを使用して
ffuf -w /subdomain_megalist.txt -u 'https://adminFUZZ.Target.com' -c -t 350 -mc all -fs 0
このコマンドを使用すると、次の名前のサブドメインが見つかりました。 admintest.Target.com
の admintest.Target.com
元のサブドメインと同じバックエンドを持っているため脆弱でした admin.Target.com
見つかったバグについて 1 つずつ話しましょう
認証バイパス&BAC:
の https://admintest.Target.com
にリダイレクトされました https://admintest.Target.com/admin/login.aspx
いくつかの js ファイルを読んでいると、というエンドポイントが見つかりました。 https://admintest.Target.com/admin/main.aspx
ブラウザで直接開くと、再びログインページにリダイレクトされますが、Burp では何かに気づきました。
の Content-Length
リダイレクト応答としては非常に大規模でした
ここで、ログイン ページにリダイレクトしても、最後はフル アクセスで動作していることがわかります。
これら 3 つのヘッダーを削除することで、パネルにアクセスできました
を使用する Burp Match And Replace か、 Burp インターセプト応答 を使用します。
change 302 Moved Temporarily to 200 OK
remove Location: /admin/Login.aspx?logout=y
remove html redirect code
完全な認証バイパスを取得することができ、フロントエンド バイパスだけでなく完全に機能しました。
詳しく調べた結果、次のことを見つけることができました。 adduser.aspx
このエンドポイントは、次のようにログイン ページにリダイレクトしていました。
同じトリックを使用して
main.aspxadduser.aspx
エンドポイントにアクセスして管理者アカウントを追加することができました。
また、認証なしで管理者のパスワードとユーザー名を表示する別のエンドポイントも見つかりました。
SQLI:
管理者アカウントを追加した後、ログインできました。上記のトリックを使用するよりも簡単です。
というエンドポイントを見つけました `SQLQuery.aspx`
そしてその名前から、それが何を機能するかがわかります:)
最初に試したのは このクエリを Select * from users
パスワード、メールアドレス、ユーザー名を含むすべてのユーザー情報を確認できました
RCE:
データベースがあったので、 `mssql`
にエスカレーションしようとしました RCE を使用して xp_cmdshell
あなたはについて読んだ xp_cmdshell
近いうちに xp_cmdshell
ユーザーが mssql を使用してシステム内でコマンドを実行できるようにします。
デフォルトでは無効になっていますが、 sqlmap オプションを使用すると簡単に有効にすることができます。 --os-shell
を実行するため、sqlmapは必要ありません。 クエリ しかし、私たちの場合、次のようにデータベースに対して直接 Select * from users
また SELECT @@version
それで、作るために最初にすべきことは xp_cmdshell
作業は、これらのクエリを使用して有効にすることです
SP_CONFIGURE "show advanced options", 1
RECONFIGURE
SP_CONFIGURE "xp_cmdshell", 1
RECONFIGURE
こちらも参照:
その後 xp_cmdshell ‘whoami’
ブーム RCE !
それらすべてを 1 つのレポートで送信し、別のエンドポイントでもう 1 つの SQLI を送信し、合計 35,000 の報奨金を獲得しました。
学んだ教訓と概要:
1_ burp でのリダイレクト応答を常に確認する
私とオルワは同じ認証バイパスをたくさん見つけました。私の最初の報奨金は 2020 年で、それは同じ手口でした。
/admin/admin.php
にリダイレクトlogin.php
しかし、 burp での応答を見ると、 admin.php は正常に動作しており、それは単なる フロントエンド Redreact です。
2_ サブドメインでバグを見つけて修正した場合は、 サブドメインのファジングを試してください
このように使えます
admin-FUZZ.target.com EG: admin-stg.target.com
FUZZ-admin.target.com EG: cert-admin.target.com
adminFUZZ.target.com EG: admintest.target.com
FUZZadmin.target.com E.G testadmin.target.com
admin.FUZZ.target.com EG: admin.dev.target.com
再びコマンド
ffuf -w /subdomain_megalist.txt -u 'https://adminFUZZ.Target.com' -c -t 350 -mc all -fs 0
-t means threads , dont make it so high u could miss alot of working subs , aslo its dpends in your network speed
,sinc im using vps 350 find for me
-mc all means macth all respone codes like 200,302,403 and this importent
3_ 報告する前にバグをエスカレーションしてみてください
4_ 量より質:
複数のバグや連鎖したバグを見つけた場合は、それらを 1 つのレポートとして報告しようとすると、より高い報奨金が得られます :)
参照:
https://github.com/netsecurity-as/subfuz/blob/master/subdomain_megalist.txt
そのリストの Netsecurity の thx :)
ここでもたくさんのリストを見つけることができます
https://github.com/danielmiessler/SecLists/tree/master/Discovery/DNS
ほなほな。