iwebsec靶场 解析漏洞通关笔记2-Nginx解析漏洞

目录

PHP CGI漏洞

1.产生原因

2.产生条件

第02关 Nginx解析漏洞

1.打开靶场

2.iwebsec靶场渗透配置

(1)确保nginx版本可以解析php

(2)确保cgi.fix_pathinfo配置正确

3.渗透分析

4.渗透实战


PHP CGI漏洞

1.产生原因

当php.ini中 cgi.fix_pathinfo = 1配置开启时,会产生解析漏洞

http://x.x.x.x:8000/parse/index.jpg/x.php时,如果x.php不存在,PHP会递归向前解析,如果index.jpg存在就会把index.jpg当做PHP解析,造成了解析漏洞.

2.产生条件

(1) cgi.fix_pathinfo = 1

(2)IIS 7.0/IIS 7.5/Nginx <0.8.03

第02关 Nginx解析漏洞

1.打开靶场

如下所示,打开靶场的解析漏洞,如下红框处的02 Nignx 解析漏洞关卡

http://iwebsec.com:81/

 网址为

iwebsec 靶场漏洞库iwebsecicon-default.png?t=O83Ahttp://iwebsec.com:81/parse/02.php

打开后如下所示,根据提示,本关卡为Nginx的解析漏洞。

2.iwebsec靶场渗透配置

(1)确保nginx版本可以解析php

首先确保nginx版本号有此PHP-CGI漏洞,其次要确认nginx可以解析php文件

在iwebsec靶场的实践中,发现此靶场的8000启动nginx服务功能不全,不支持解析php。在nginx的根目录下,存在一个文件叫做php.php,内容是获取服务器php的敏感信息。

 但是在访问http://192.168.71.151:8000/php.php文件时,提示无法解析。

在配置的过程中,查看nginx的php配置文件,如下所示

 不过在iwebsec靶场的容器中,查看9000端口判断是否启动

netstat -ano|grep 9000

却发现9000端口根本就没有启动。于是需要通过php-fpm启动9000端口,如下所示

service php-fpm restart

 启动后如下所示,确认9000端口已经启动

 接下来将php-fpm加入到开机自动启动

chkconfig  php-fpm  on

配置完毕后再次访问php.php,如下所示已经可以正常解析php文件

(2)确保cgi.fix_pathinfo配置正确

首先查找php.ini文件,

 然后修改配置确保cgi.fix_pathinfo开启,如果没有开启的话将注释删掉,保证cgi.fix_pathinfo=1,如下所示

3.渗透分析

iwebsec靶场的nginx根目录为/usr/share/nginx/html/

在/usr/share/nginx/html/parse/目录下存在一个index.jpg,浏览器访问如下所示

http://192.168.71.151:8000/parse/index.jpg

其实这个index.jpg是一个图片马,打开文件查看可以发现在文件的尾部有展示php信息的脚本,如下所示。

基于此,在访问http://192.168.71.151:8000/parse/index.jpg/x.php时,由于x.php不存在,PHP会递归向前解析,如果index.jpg存在就会把index.jpg当做PHP解析,造成了解析漏洞。

4.渗透实战

访问如下url地址

http://192.168.71.151:8000/parse/index.jpg/x.php

访问后如下所示

 虽然看起来是乱码,但是不断向下滑动,就会发现php的版本号

 如上所示,PHP CGI漏洞渗透成功

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

mooyuan天天

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值