什么是CRLF注入?
CRLF的意思就是回车(CR, ASCII 13, \r) 换行(LF, ASCII 10, \n),
新玩意CRLF注入?
。这两个ACSII字符不会在屏幕有任何输出,但在Windows中广泛使用来标识一行的结束。而在Linux/UNIX系统中只有换行符。
CR和LF组合在一起即CRLF命令,它表示键盘上的"Enter"键。
CRLF注入就是说 能够将CRLF命令注入到系统中。它不是系统或服务器软件的漏洞,而是网站应用开发时,有些开发者没有意识到此类攻击存在的可能而造成的。
针对这个漏洞 能够做什么?
就算 发现网站存在CRLF注入,他们仍然受到应用结构和这个缺陷的严重程度的限制,
电脑资料
《新玩意CRLF注入?》(https://www.unjs.com)。对有些站点它将非常严重,而有些站点它只是很小的bug。
HTTP Header CRLF Injection
许多网络协议,包括HTTP也使用CRLF来表示每一行的结束。这就意味着用户可以通过CRLF注入自定义HTTP header,导致用户可以不经过应用层直接与Server对话。
HTTP header的定义就是基于这样的"Key: Value"的结构,用CRLF命令表示一行的结尾。
"Location:"头用来表示重定向的URL地址,"Set-Cookie:"头用来设置cookies。
如果用户的输入经过验证,其中存在CRLF的字符就可以被用来达到欺骗的目的。
如何预防?
过滤用户输入,可能存在CRLF注入的地方过滤掉CRLF字符。