概述
cve-2017-7529
原理:
nginx在反向代理站点时,通常会将一些文件进行缓存,特别是静态文件,缓存部分存储在文件中,每个缓存文件包括“文件头”+“HTTP返回包头”+“HTTP返回包体”,如果二次请求命中了该缓存文件,则Nginx会直接将该文件中的“HTTP返回包体”返回给用户
在请求中包含range头,nginx将会根据指定的start和ed位置返回指定长度内容如果构造两个负位置,如(-600, -9223372036854774591),将会读取到负位置的数据,如果这次请求又命中了缓存文件,就可以读取缓存文件中位于“HTTP返回包体”前的“文件头”、“HTTP返回包头”等内容,达到信息泄露
py cve-2017-7529.py -url //修改脚本url
影响版本:nginx 0.5.6-1.132
漏洞修复:
- 升级到 1.13.3
- 在 Nginx 配置文件中添加 max_ranges 1,从而禁用 multipart range
cve-2013-4547
原理
主要的原因是错误的解析了请求的URI,错误地获取到用户请求的文件名,导致权限绕过,代码执行的连带影响,我们可以请求如下URI:/test[0x20]/…/admin/index.php,这个URI不会匹配上location后面的/admin/,也就绕过了其中的IP验证;但最后请求的是/test[0x20]/…/admin/index.php文件,也就是/admin/index.php,成功访问到后台。(这个前提是需要有一个目录test:这是Linux系统的特点,如果有一个不存在的目录,则即使跳转到上一层,也会爆文件不存在的错误,Windows下没有这个限制)
请求1.gif[0x20][0x00].php,这个URI可以匹配上正则.php$,可以进入这个Location块;但进入后,Nginx却错误地认为请求的文件是1.gif[0x20],就设置其为SCRIPT_FILENAME的值发送给fastcgi
Fastcgi根据SCRIPT_FILENAME的值进行解析,最后造成了解析漏洞。
版本
Nginx 0.8.41~1.4.3
Nginx 1.5.0~1.5.7
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-S2N56mrb-1653729481654)(…/图片/233.png)]
访问/1.jpg .php抓包同上改
insecure-configuration
配置错误导致的一些东西
目录穿越漏洞
nginx做反向代理,动态部分被proxy_pass传递给后端端口,静态文件需要nginx处理
假设静态文件存储在/home/目录下,而该目录在url中名字为files,那么就需要用alias设置目录的别名,url上/files没有加后缀/,而alias设置的/home/是有后缀/的,所以我们访问**/files…/,就相当于访问/home/…/,因为/files等价于于/home/**。这个就导致我们可以从/home/目录穿越到他的上层目录
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-08gbtMco-1653729481655)(…/图片/dsafadsfdas.png)]
add_header被覆盖
http安全头部有:
- Strict-Transport-Security
- X-Frame-Options
- X-Content-Type-Options
- X-XSS-Protection
**有些资源的Content-Type是错的或者未定义,**这时,某些浏览器会启用MIME-sniffing来猜测该资源的类型,解析内容并执行
Nginx配置文件子块(server、location、if)中的**add_header
,将会覆盖父块中的add_header
**添加的HTTP头,造成一些安全隐患
待完善
。。。
dd_header**,将会覆盖父块中的**
add_header`**添加的HTTP头,造成一些安全隐患
最后
以上就是糊涂唇彩为你收集整理的nginx已复现漏洞的全部内容,希望文章能够帮你解决nginx已复现漏洞所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复