漏洞环境:ubuntu16.04下配置的nginx
(要抓包,所以把BP也拖进来,再安一个java就行)
漏洞原因:用户配置不当
1、在nginx的配置文件的如下位置中,加上一句return 302 https://$host$uri
(它上面两个注释是复现前面漏洞的)
2、这句话的意思是,在用nginx访问一个链接时,会用https协议访问,并且返回一个302found给用户。
3、其中的$uri是我们可以控制的,通过注入一个CRLF和两个CRLF来选择注入到http header还是http body。
漏洞复现:
(1)修改配置文件,重启nginx
(2)访问nginx默认页面就行,抓包,送到repeater
(3)先注入一个CRLF,换行和回车的URL编码分别是%0d%0a
可以看到,注入到header里了。
(4)注入两个CRLF
可以看到,注入到body里了
漏洞修复:删除此配置
萌新,有什么不妥的,望大佬告知。