博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

nginxCRLF注入漏洞复现

Posted on 2020-05-13 15:16  GiDunPar  阅读(716)  评论(0编辑  收藏  举报

漏洞环境: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里了

漏洞修复:删除此配置

 

萌新,有什么不妥的,望大佬告知。