Nginx 配置错误导致漏洞 (insecure-configuration)

注意:仅用于技术讨论,切勿用于其他用途,一切后果与本人无关!!!

CRLF注入漏洞复现

        基本理论

                CR在十六进制中代表回车、LF在十六进制中代表换行,注入的原理就是用到就是用到了回车和和换行来构建新的数据包。            

                回车CR-将光标移动到当前行的开头。        %0d
                换行LF-将光标“垂直”移动到下一行。(而并不移动到下一行的开头,即不改变光标水平位置)                                                                          %0a

        漏洞复现

这里由于我的重定向出了问题,所以无法做演示

Nginx 配置错误导致漏洞 (insecure-configuration)_第1张图片

 主要就是通过回车和换行构造新的数据包,当我们访问http://192.168.86.129:8080/%0d%0a%0d%0a,从而可实现xss攻击

在这里插入图片描述

目录穿越漏洞复现

        基本理论          Nginx 配置错误导致漏洞 (insecure-configuration)_第2张图片

         这里错误配置就在黄色部分,Nginx在配置别名(Alias)的时候,如果忘记加/,将造成一个目录穿越漏洞。在下面配置中/files在匹配字符串的时候可以匹配到 /files..,而 /files..转化成别名时就会变成 /home/..,这样就可以访问到home目录的上一级目录。

        说白了就是当url中匹配到   /files  的时候就自动替换为  /home/  ,假设我们url中是  /files../  的话,那么   /files   首先替换为  /home/   后面还有   ../   则拼接上去,最后的结果就为   /home/../   c从而访问的是home的上一层目录,就是根目录。

        漏洞复现

这时我们直接访问192.168.86.129/files../        则出现了根目录

Nginx 配置错误导致漏洞 (insecure-configuration)_第3张图片

当我们点击里面的路径的时候,例如/home/文件夹,发现里面只有一个help.txt文件,并不是像我们主机里那么多的文件,其原因也很简单,因为我们没有权限访问

Nginx 配置错误导致漏洞 (insecure-configuration)_第4张图片

Nginx 配置错误导致漏洞 (insecure-configuration)_第5张图片

add_header被覆盖

        基本理论   

        因为/test2中的location中又添加了X-Content-Type-Options头,导致父块中的防止xss的csp头等add_header全部失效。从而导致漏洞产生。

Nginx 配置错误导致漏洞 (insecure-configuration)_第6张图片

        漏洞复现

这里因为没有ie浏览器,在火狐中又不行,只能演示到这了。

Nginx 配置错误导致漏洞 (insecure-configuration)_第7张图片

 总结

        可以发现CRLF可能会造成xss等危害,目录穿越漏洞的话,如果存在源码压缩文件的话,那我们可以下载源码,危害性是很大的,add_header被覆盖导致了产生xss的危害。

参考文章:

Nginx 配置错误导致漏洞 漏洞复现 (CRLF注入漏洞&目录穿越漏洞)_rpsate的博客-CSDN博客CRLF注入漏洞nginx的错误配置如下,该配置的用意是让http请求跳转到https请求。其中uri就是我们的访问的地址,该变量可控。其中‘https://uri就是我们的访问的地址,该变量可控。其中`https://uri就是我们的访问的地址,该变量可控。其中‘https://hosturi‘会出现在http响应报文中,这样我们就可以通过改变‘uri`会出现在http响应报文中,这样我们就可以通过改变`uri‘会出现在http响应报文中,这样我们就可以通过改变‘uri`来控制http的响应报文。lohttps://blog.csdn.net/rpsate/article/details/120601703Nginx 配置错误导致漏洞 - Hel10 - 博客园###1、CRLF注入漏洞 CRLF是”回车+换行”(\r\n)的简称,其十六进制编码分别为0x0d和0x0a。先看payload,因为%0a%0d的存在导致换行。 在HTTP协议中,HTTP heahttps://www.cnblogs.com/HelloCTF/p/14096781.html#2%E7%9B%AE%E5%BD%95%E7%A9%BF%E8%B6%8A%E6%BC%8F%E6%B4%9E回车(CR)换行(LF)的来历及区别 - 爱码网转自https://blog.csdn.net/lw370481/article/details/8229344 一、回车”(Carriage Return)和“换行”(Line Feed)起源 回车icon-default.png?t=M85Bhttps://www.likecs.com/show-205220860.html?sc=372Nginx 配置错误导致漏洞——add_header被覆盖_为了嫖md编辑器到自己的博客的博客-CSDN博客漏洞原因:Nginx配置文件子块(server、location、if)中的add_header,将会覆盖父块中的add_header添加的HTTP头,造成一些安全隐患。如以下:因为/test2中的location中又添加了X-Content-Type-Options头,导致父块中的防止xss的csp头等add_header全部失效。漏洞演示:访问根目录csp头存在:访问test1存在:访问test2不存在:test2test1都引用了static/app.js,static/apphttps://blog.csdn.net/qq_45449318/article/details/117671840

你可能感兴趣的:(漏洞复现篇,安全,web安全)