Shikata Ga Nai

Private? There is no such things.

Fun with Header and Forget Passwordを訳してみた

Hello there, ('ω')ノ

 

ヘッダとパスワードを忘れて楽しむを。

 

脆弱性:

 HTTP ヘッダインジェクション

 

記事:

 https://infosecwriteups.com/fun-with-header-and-forget-password-without-that-nasty-twist-cbf45e5cc8db

 

バグハンティングでは、ヘッダをいじることが重要で。

しかし、blind xss/blind sqli/blind rceなどで。

GET リクエストを送信するだけに制限するのは簡単で。

Referer、User-Agent、Cookie、カスタム ヘッダなどの内部。

Burp Suiteで Match and Replace ルールを使用していなければ。

このバグは検出されなかったかと。

 

 

初期段階:

PortSwiggerの記事に従ってpingback の遅延があったかどうかを判断するために。

Referer ヘッダを pingb.in ペイロードに設定して。

そして、目的のウェブサイトを閲覧した後、さまざまな機能を使用して。

pingback がないかどうかを確認しましたが、 DNSさえも何も得られず。

それ以上ではないにしても、数時間の遅延があるかもしれないと考えたので。

そのままにして。

 

発見:

問題のターゲット Web サイトには、サインアップとパスワードを忘れた機能もあり。

また、前のステップで、パスワードを忘れて後で調べるようにトリガして。

メールを確認したところ、パスワード回復リンクに pingb.in リンクが。

使用されていて。

Burp Suiteの履歴をさらに調べたところ、パスワードを忘れた場合の。

メールを送信する元のリクエストに、すべてを説明する下記が。

含まれていることに気付いて。

 

 Referer: https://targetwebsite.com

 

概念実証:

これで、PoC の作成方法がわかって。

1.テスト アカウント B のメールアドレスを入力

2.POST リクエストを傍受

3.Referer ヘッダを pingb.in ペイロードに変更

4.テスト アカウント B のメールから、汚染されたリンクをクリック

5.pingb.in ログを確認すると、アカウント B のパスワードを変更するために。

 必要なアカウント B のトークンを含む GET 要求が含まれていて。

 

pingb.in の代わりに、Burp コラボレータまたはアクセスできる vps を。

使用することもできて。

これは、CSRF 保護や前のページに戻るリンクを生成するために使用している。

いくつかの場所を除いて、Referer ヘッダが追加の役割を持つことができる方法。

を示していて。

 

Best regards, (^^ゞ