Hello there, ('ω')ノ
HackerOne での CRLF インジェクションと責任ある開示の話を。
脆弱性:
CRLF インジェクション
記事:
CRLF インジェクションは、「Carriage Return Line Feed」の略で、
HTTP を含むさまざまなプロトコルで行末を表すために使用される特殊文字で。
攻撃者は CRLF 文字を HTTP ヘッダに挿入でき。
これにより、HTTP 応答の分割、クロスサイト スクリプティング、
Cookie の操作など、さまざまな攻撃が行われる可能性があり。
バグ報奨金テスト中に、crlfi ツールを使用し。
このツールは、CRLF インジェクション バグを検出する目的で作成して。
https://github.com/karthi-the-hacker/crlfi
「npm install crlfi -g」コマンドを実行して、マシンにインストールでき。
これは、Windows、Mac、および Linux オペレーティング システムで
サポートされていて。
数分間スキャンした後、ペイロードを含む脆弱な出力を取得することができ。
ロケーションヘッダーの値が適切にサニタイズされていないことに気付き、
CRLF 文字を挿入できて。
「%0d%0a」のような単純なペイロードを使用して。
例
http://example.com/%0D%0ATest-Header:karthithehacker
これにより、サーバの応答を操作し、偽のヘッダや JavaScript コードなどの
任意のコンテンツを挿入することができて。
脆弱性の影響を実証するために、偽の「Set-Cookie」ヘッダをサーバの応答に
挿入する概念実証を作成して。
これは、セッション Cookie を盗み、セッション ハイジャック攻撃を
実行するために使用される可能性があって。
技術的な内容:
https://karthithehacker.com/blogs/crlf-in-h1-poc.html
ここでの教訓は、一見無害に見えるヘッダでも CRLF インジェクションに対して
脆弱である可能性があり、ユーザ入力を HTTP ヘッダで使用する前に
適切にサニタイズすることが重要であるということで。
これらのタイプの脆弱性に注意することも重要で。
これらのタイプの脆弱性は、Web アプリケーションのセキュリティに
重大な影響を与える可能性があるためで。
ヒント:
HTTPS を HTTP にダウングレードし、CRLF ペイロードを挿入して。
結論として、CRLF インジェクションは、攻撃者が HTTP ヘッダを操作して
さまざまな攻撃を実行するために使用できる強力な手法で。
それがどのように機能し、どのように防止するかを理解することで、
Web をすべての人にとってより安全な場所にすることができて。
Best regards, (^^ゞ