Hello there, ('ω')ノ
企業ユーザのパスワードを変更する方法を。
脆弱性:
アカウントの乗っ取り
パスワードのリセット
認証バイパス
記事:
https://medium.com/@ch3tanbug/how-i-was-able-to-change-password-of-any-corporate-user-c68b9509840
今回は、 Yeswehack のプログラムを選び。
このプログラムの範囲はかなり大きく、5 ~ 6 個の Web アプリケーションが
範囲内にあり。
テキスト ファイルを作成し、スコープ内のすべてのターゲット URL を保存して、
それをsubdigとして呼び出すカスタムの偵察スクリプトに渡し。
多くのライブ サブドメインを取得しましたが、それらの半分は同じタイプの
ログイン パネルであり、それらをバイパスしたり、それらの URL でジューシーな
ファイル/ディレクトリを取得したりできず。
そこで、メイン アプリケーション自体に飛びつくことにして。
テストを開始するために、プログラムの範囲内の最初の Web アプリケーションを
選択し通常どおり redacted.com と呼ぶことに。
ターゲットは基本的に、物を購入したり、誰かに贈り物をしたりできる
電子商取引の Web サイトのようなもので。
OTP バイパス、OTP のレート制限なし、CSRF などのすべての基本的な
脆弱性を試し。
次の範囲内の Web アプリケーションに移動することにしましたが、
ターゲットに関する 1 つのことが目に留まり。
企業ユーザのログインを示す小さなボタンがあって。
そのボタンをクリックすると、
https://corporate.redacted.com/corporate/login にリダイレクトされて。
そこで、ユーザ名とパスワードを入力するオプションが表示され。
ユーザ名を持っていなかったので、偵察に戻り。
今回は Github にアクセスし、単純な「redacted.com」というユーザ名を使用し。
いくつかのコードを確認した後、ユーザ名を取得できて。
デフォルトではadmin、testなどのユーザ名を受け入れていなかったため、
これを行って。
後でGithubでユーザ名を見つけた後、ユーザ名はuser@xyz.comの形式で
なければならないことがわかって。
もう一度ターゲットに行き、そのユーザ名を入力し、userpassword のような
ランダムなパスワードを入力し。
そのリクエストをBurp Suiteで傍受すると以下のとおりで。
&isPasswordToBeChanged=false パラメータを
&isPasswordToBeChanged=true に変更すると、
新しいパスワードを入力して確認するページが表示され。
新しいパスワードを入力しましたが、確認を押した後、
「管理者に連絡してください」というエラーが発生したというエラーが
表示されたので、再びパスワードを入力し、
今度は Burp Suite でこのリクエストへの応答を傍受し、
応答の応答キーを 3 から 1 に変更し。
これで、ユーザ名が必要な企業ユーザの ATO を実行できて。
結論:
最後に、より多くのアセットを集めてテストするのではなく、1 つのアセットに集中してそれに時間を投資することで、何か実りのあるものを見つけることができるかもしれません。
Best regards, (^^ゞ