Hello there, ('ω')ノ
ヘッダとパスワードを忘れて楽しむを。
脆弱性:
HTTP ヘッダインジェクション
記事:
バグハンティングでは、ヘッダをいじることが重要で。
しかし、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, (^^ゞ