Web安全—CRLF注入漏洞

本文阅读 3 分钟

CRLF注入漏洞详解:

CRLF简介:CRLF指的就是回车符(CR,ASCII-13,r,%0d)和换行符(LF,ASCII-10,n,%0a),操作系统就是通过这个标识进行换行的,相当于我们键盘的回车键。 HTTP协议中的CRLF:在HTTP协议报文中,CRLF随处可见,请求行与请求头通过一个CRLF(rn)隔开,请求头(header)和请求主题(body)之间通过两个CRLF(rn)隔开,如下图: img CRLF注入漏洞简介:由于服务端未对用户输入的参数进行过滤,攻击者可通过构造恶意的HTTP请求在其添加多余的CRLF(rn)来添加恶意参数和HTML代码,从而形成CRLF注入漏洞。

CRLF注入漏洞危害:

1,Cookie会话固定 2,反射性XSS攻击(可过WAF)

漏洞利用(原理):

Cooki会话固定: 步骤一:在URL参数中构造%0d%0aSet-Cookie:crlf=ture img 步骤二:查看HTTP响应包,发现HTTP响应头存在了Set-Cookie:crlf=true img 原理分析: 查看源代码发现:当服务端对用户的输入不进行过滤和排查时,$_GET变量接受的URL会直接作为响应头中的Location字段返回,同时又因为我们在请求的URL中添加了一个CRLF,所以返回的响应头中会存在我们构造的Set-Cookie:crlf=ture参数 img 反射性XSS攻击: 如果此时我们在URL中将%0d%0aSet-Cookie:crlf=ture修改为%0d%0a<script>alert('xss')</script>,那么服务端返回界面将会如下图: img 同时又因为添加了两个CRLF的情况,JS脚本会被识别为HTTP响应正文被浏览器执行,那么就会产生反射性XSS攻击

CRLF注入漏洞防护建议:

1,服务端前增加WAF进行防护 2,服务端过滤 r ,n 之类的行结束符,避免输入的数据污染其他 HTTP 首部字段

相关文章: 1,CRLF注入漏洞(响应截断)攻击实战 2,CRLF注入漏洞

本文为互联网自动采集或经作者授权后发布,本文观点不代表立场,若侵权下架请联系我们删帖处理!文章出自:https://blog.csdn.net/weixin_44431280/article/details/122869484
-- 展开阅读全文 --
Web安全—逻辑越权漏洞(BAC)
« 上一篇 03-13
Redis底层数据结构--简单动态字符串
下一篇 » 04-10

发表评论

成为第一个评论的人

热门文章

标签TAG

最近回复