Shikata Ga Nai

Private? There is no such things.

ホストヘッダ攻撃の基本的な診断手順をなるべく詳細にかいてみた①

Hello there, ('ω')ノ

 

まずは、PortSwiggerのアカデミーへ。

パスワードを忘れた際の一連の流れを確認するところから。

 

f:id:ThisIsOne:20211024142412p:plain


ここで自分の名前(wiener)を入力することに。

 

f:id:ThisIsOne:20211024142501p:plain

 

どうやら自分のメールアドレスにリンクを送ったようで。

 

f:id:ThisIsOne:20211024142526p:plain

 

自分(wiener)のメールを確認すると。

エンドポイントとパラメータに注目して。

下記のリンクが届いているので、クリックすると。

https://acb01f2f1f57d3b3c07b0d23001e001a.web-security-academy.net/forgot-password?temp-forgot-password-token=N1XNyHCVzXVohyogzT9lcbFSOMDg73tZ

f:id:ThisIsOne:20211024142616p:plain

 

新しいパスワードの登録ページへ。

ここまでが一連の流れで。

 

https://acb01f2f1f57d3b3c07b0d23001e001a.web-security-academy.net/forgot-password?temp-forgot-password-token=N1XNyHCVzXVohyogzT9lcbFSOMDg73tZ

 

f:id:ThisIsOne:20211024142900p:plain

 

メールを送ったリクエストを送った際のリクエスト内容を確認して。

 

f:id:ThisIsOne:20211024143253p:plain


メールに届くパスワードを変更するページのリンク先が変わるかの確認をするために。

ホストヘッダを変更してみると。

 

f:id:ThisIsOne:20211024143354p:plain

 

届いたメールを確認するとリンク先が変更したホストに変わっていたので。

ホストヘッダを変更すれば、悪意のあるサイトへ誘導できそうなので。

 

f:id:ThisIsOne:20211024143434p:plain

 

アカデミーでは。

悪意のあるサイトは、あらかじめエクスプロイトサーバが用意されているので。

下記のドメインを利用することに。

URL: https://exploit-ac801fa21f52d3d4c0e60d8b0101007a.web-security-academy.net/exploit

 

f:id:ThisIsOne:20211024144647p:plain

 

さきほどパスワードを忘れた際のリクエストのホストヘッダを。

エクスプロイトサーバのドメインに変更すると。

メールに届くリンク先が、エクスプロイトサーバに変更されるはずで。

ただ、これだけでは自分(wiener)のパスワードを変更することになるので。

 

f:id:ThisIsOne:20211024144738p:plain

 

usernameパラメータをcarlosに変更することに。

変更することで被害者(carlos)のパスワードを変更することになるはずなので。

 

f:id:ThisIsOne:20211024144755p:plain

 

これで、carlosのメールアドレスにパスワードを変更するリンク先が届いたはずで。

しかしながら、carlosでないとメールの確認はできないので。

目的はリンク先ではなく、carlosのトークンを知りたいだけなので。

エクスプロイトサーバのログを確認して、トークンを確認することに。

/forgot-password?temp-forgot-password-token=NSREf7EVbJSao64WTQkmhVkTv5yJxPu5

f:id:ThisIsOne:20211024144841p:plain

 

wienerのパスワードを変更するエンドポイントのパラメータのトークンを。

carlosのトークンに変更してアクセスすると。

表示されるページは、carlosのパスワード変更ページなので。

ここで、carlosの新しいパスワードに変更して。


https://acb01f2f1f57d3b3c07b0d23001e001a.web-security-academy.net/forgot-password?temp-forgot-password-token=NSREf7EVbJSao64WTQkmhVkTv5yJxPu5


f:id:ThisIsOne:20211024145053p:plain

 

calorsと新しいパスワードでログインすることができて。

 

f:id:ThisIsOne:20211024145134p:plain

 

Best regards, (^^ゞ