漏洞复现之中间件专栏|Nginx 配置错误导致漏洞 漏洞复现 (CRLF注入漏洞&目录穿越漏洞)
CRLF注入漏洞 nginx的错误配置如下,该配置的用意是让http请求跳转到https请求。其中 u r i 就 是 我 们 的 访 问 的 地 址 , 该 变 量 可 控 。 其 中 ‘ h t t p s : / / uri就是我们的访问的地址,该变量可控。其中`https:// uri就是我们的访问的地址,该变量可控。其中‘https://host u r i ‘ 会 出 现 在 h t t p 响 应 报 文 中 , 这 样 我 们 就 可 以 通 过 改 变 ‘ uri`会出现在http响应报文中,这样我们就可以通过改变` uri‘会出现在http响应报文中,这样我们就可以通过改变‘uri`来控制http的响应报文。
location / {return 302 https://$host$uri;
}
当我们正常访问
http://192.168.119.131:8080/
时,nginx重定向后,会在http响应头中出现Location字段,如下图所示:文章图片
当我们访问
http://192.168.119.131:8080/%0d%0atest
时,响应头如下图所示。 %0d%0a
即 \r\n
,也就是换行符,所以在url中加入一个换行符即可将恶意数据写入http响应头。文章图片
同理加两个换行符可以将数据写入响应体,例如访问
http://192.168.119.131:8080/%0d%0a%0d%0a
后响应体如下图所示,通过这种注入可实现xss攻击。文章图片
【漏洞复现之中间件专栏|Nginx 配置错误导致漏洞 漏洞复现 (CRLF注入漏洞&目录穿越漏洞)】靶场由vulhub搭建,靶场地址为目录穿越漏洞 Nginx在配置别名(Alias)的时候,如果忘记加vulhub/nginx/insecure-configuration
,在该目录中执行docker-compose up -d
即可启动靶场。
/
,将造成一个目录穿越漏洞。在下面配置中/files
在匹配字符串的时候可以匹配到 /files..
,而 /files..
转化成别名时就会变成 /home/..
,这样就可以访问到home目录的上一级目录。location /files {alias /home/;
}
把
/files
改成 /files/
即可修改该漏洞。漏洞复现 靶场环境和上一个漏洞在一个docker中,端口为8081,访问
http://IP地址:8081/files../
文章图片
该漏洞可以造成任意文件下载,造成巨大的风险。
推荐阅读
- CVE-2020-16898|CVE-2020-16898 TCP/IP远程代码执行漏洞
- PMSJ寻平面设计师之现代(Hyundai)
- 太平之莲
- 闲杂“细雨”
- 七年之痒之后
- 深入理解Go之generate
- 由浅入深理解AOP
- 期刊|期刊 | 国内核心期刊之(北大核心)
- 生活随笔|好天气下的意外之喜
- 感恩之旅第75天