Skip to content
Vol. 1 · Ed. 2026
CyberGlossary
Entry № 263

CRLF 注入

审核人Cybersecurity entrepreneur & security researcher

CRLF 注入 是什么?

CRLF 注入通过向 HTTP 头、日志或其他文本协议中插入回车换行符,以伪造新行并改变协议语义的攻击。


CRLF 注入利用了 CR(0x0D)和 LF(0x0A)字节在许多文本协议中作为行终止符的特殊含义。当应用程序将未经校验的用户输入反射到 HTTP 响应头、日志条目、SMTP 命令或 LDAP 查询中时,攻击者可以注入 CRLF 字节对及附加内容,以伪造 HTTP 头、拆分响应、隐藏日志条目或夹带命令。在 Web 场景中,最严重的形式是 HTTP 响应拆分,可污染共享缓存、设置任意 Cookie 或在受控响应体中注入 XSS。防御方法包括拒绝出现在头部输入中的 CR/LF、使用会进行转义的高层 API,以及严格的日志编码器。

示例

  1. 01

    Set-Cookie: id=foo%0d%0aSet-Cookie: admin=true — 通过 CRLF 添加第二个 Cookie。

  2. 02

    Location: /redir%0d%0aContent-Length:0%0d%0a%0d%0a<html>... — HTTP 响应拆分。

常见问题

CRLF 注入 是什么?

通过向 HTTP 头、日志或其他文本协议中插入回车换行符,以伪造新行并改变协议语义的攻击。 它属于网络安全的 攻击与威胁 分类。

CRLF 注入 是什么意思?

通过向 HTTP 头、日志或其他文本协议中插入回车换行符,以伪造新行并改变协议语义的攻击。

如何防御 CRLF 注入?

针对 CRLF 注入 的防御通常结合技术控制与运营实践,详见上方完整定义。

CRLF 注入 还有哪些其他名称?

常见的别称包括: 回车换行注入, 日志注入。

相关术语