CRLF Injection in HTTP header values allows arbitrary header injection
该报告还没有中文解读。
原文摘录
摘自原文(2192 字符中的一小部分)
curl allows carriage return `(\r)` and line feed `(\n)` characters inside HTTP header **values**. When attacker-controlled data is used in a header value (e.g., `Authorization: Bearer <token>`), curl construct and sends a malformed HTTP request containing injected headers.
原文中的代码
from http.server import BaseHTTPRequestHandler, HTTPServer
class H(BaseHTTPRequestHandler):
def do_POST(self):
is_admin = self.headers.get("X-Admin") == "1"
length = int(self.headers.get("Content-Length","0"))
self.rfile.read(length)
if self.path == "/delete" and …默认不展示报告全文。以上为简短摘录,完整复现过程请阅读原文。版权归研究员与 curl 所有。
时间线
- 报告提交
- 公开披露
阅读 HackerOne 原文 ↗作者 @unknowperson0212 · 版权归作者与 curl 所有