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

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

点进题目,发现了一个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/
时间: 2024-08-29 22:29:22

nginx 配置不当导致目录遍历下载漏洞的相关文章

nginx配置不当导致的目录遍历下载漏洞-“百度杯”CTF比赛 2017 二月场

题目:http://98fe42cede6c4f1c9ec3f55c0f542d06b680d580b5bf41d4.game.ichunqiu.com/login.php 题目内容: 网站要上线了,还没测试呢,怎么办? 经过测试在点击Mini-Zone的时候会有如下数据包. GET /index.php HTTP/1.1Host: 98fe42cede6c4f1c9ec3f55c0f542d06b680d580b5bf41d4.game.ichunqiu.comUpgrade-Insecure

Nginx配置不当可能导致的安全问题

Nginx配置不当可能导致的安全问题 Auther: Spark1e目前很多网站使用了nginx或者tenginx(淘宝基于Nginx研发的web服务器)来做反向代理和静态服务器,ningx的配置文件nginx.conf的一些错误配置可能引发一些安全问题.要了解这些问题,我们先简单了解一下Nginx的配置文件 0x00 Nginx的配置文件的格式 Nginx的主配置文件非常简短,是由一些模块构成的.在任何情况下Nginx都会加载其主配置文件.一个主配置文件nginx.conf的结构如下: ...

nginx配置网站所有目录下文件http认证

要实现网站所有目录均通过验证才能访问,可将nginx配置文件加为如下内容: location ^~ / { auth_basic "Authorized users only"; auth_basic_user_file wttxAuth.conf; } 这样访问网站及网站下所有文件均出现提示验证了. 注意,加上认证之后该目录下的PHP将不会被解析,会出现下载提示,如果想可以解析PHP可以将上面的配置改为: location ^~ / { location ~ .*.(php|php5

nginx 配置web 虚拟目录 并且codeIgniter,thinkphp 重新url 地址

nginx 配置虚拟目录并且url 重写 server { #侦听80端口 listen 8090; #定义使用www.xx.com访问 server_name 127.0.0.1; #设定本虚拟主机的访问日志 access_log /var/log/nginx/access.log; error_log /var/log/nginx/error.log; root /home/lxy/www/cs/; #定义服务器的默认网站根目录位置 #默认请求 location / { index inde

redis配置不当导致机器被黑

近日公司安全专家对业务云主机进行例行安全检查发现某redis服务器异常,现象如下: 1.系统的history和/var/log日志目录均被清空: 2.流量异常 3.恶意新建了一个id=0,名称为beef-xbdb的高权限用户,其home目录是/root,跟root用户的属性做了绑定: 4./boot启动目录有名称为gakzigdpzp的木马文件: 5./boot目录下面的木马文件与192.225.230.143,一个香港的IP存在SYN_SENT连接状态的网络交互行为: 6.多个目录存在木马/后

NFS配置不当导致的那些事儿

NFS(Network File System):是FreeBSD支持的文件系统中的一种,它允许网络中的计算机之间通过TCP/IP网络共享资源: NFS配置:(声明:以下NFS实验是在RedHat7上完成) 首先安装NFS(我的机子是最小化的系统,需要自己安装): yum install nfs-utils.x86_64 -y 启动服务: systemctl start rpcbind(如果这个服务不启动,nfs服务会启动失败) systemctl start nfs-server system

Nginx 配置二级虚拟目录访问 Laravel 重写

server { listen 80; server_name _; root /opt/sites; index index.php index.html index.htm; etag on; gzip on; gzip_vary on; gzip_http_version 1.0; gzip_min_length 1k; gzip_buffers 4 16k; gzip_comp_level 2; gzip_disable msie6; gzip_types text/plain text

Nginx 配置二级虚拟目录访问 Laravel 后台重写

案例1server {listen 80;listen 443 ssl http2;server_name new.api.zentrust.cn;root /var/www/new.api.zentrust.cn/prod/public;index index.php index.html index.htm;etag on; gzip on; gzip_vary on; gzip_http_version 1.0; gzip_min_length 1k; gzip_buffers 4 16k

配置不当导致无法加载odoo-10.0模块

启动odoo-bin时出错 2017-01-05 06:38:51,046 5480 INFO ? odoo: Odoo version 10.02017-01-05 06:38:51,046 5480 INFO ? odoo: Using configuration file at C:\odoo-10.0\debian\odoo.conf2017-01-05 06:38:51,046 5480 INFO ? odoo: addons paths: [u'C:\\Users\\hello\\A