- Web漏洞搜索
- (美)彼得·亚沃斯基
- 453字
- 2021-11-05 10:20:07
第6章 回车换行注入
有些漏洞使得用户可以在HTML和HTTP响应消息中输入具有特殊含义的编码字符。通常情况下,应用程序都会滤除用户输入的这种特殊含义的字符以抵御恶意修改HTTP消息的黑客攻击,但有些时候,应用程序会忘记滤除或不能进行正常的滤除。当这种情况发生时,服务器、代理和浏览器将会把这些特殊字符作为代码进行解析,从而修改了原始的HTTP消息,这样就会使攻击者可以操纵应用程序。
有两个特殊编码字符%0D和%0A,分别代表\n(回车)和\r(换行)。这两个编码字符通常叫作回车换行符(CRLF)。服务器和浏览器都是通过CRLF字符来识别HTTP消息中的不同部分的,例如消息头。
当应用程序没有对用户输入进行特殊字符过滤或者不能正确过滤时,就可能发生回车换行注入(CRLF注入)漏洞。如果攻击者可以在HTTP消息中注入CRLF字符,就可以发起本章中我们要讨论的两种攻击:HTTP请求夹带攻击和HTTP响应分割攻击。另外,你可以在漏洞报告中将CRLF注入漏洞与其他漏洞联合使用以证明该漏洞具有更大的风险,就如我将在本章中描述的那样。基于本书的目的,我们将不提供怎样利用CRLF注入漏洞以实现HTTP请求夹带的示例。