目录

文件解析漏洞靶场集锦详解

文件解析漏洞靶场集锦详解

环境安装: windows2003+iis6

.asp文件夹中的任意文件都会被当做asp文件去执行

1.在iis6的网站根目录新建⼀个名为1.asp的文件

https://i-blog.csdnimg.cn/direct/b3a0116fed7f4a93b6bb37aed4670b09.png

2. 在1.asp中新建⼀个jpg文件。内容为 <%=now()%>asp代码

https://i-blog.csdnimg.cn/direct/68166dca26944fe1979484ba4b227dc5.png

3.在外部浏览器中访问iis⽹站中的1.jpg 发现asp代码被执行

https://i-blog.csdnimg.cn/direct/77fefe5713174fbe8cd0e44e67119be7.png

分号可以起到截断的效果。也就是说 shell.asp;.jpg会被服务器看成是 shell.asp

1.在iis6的网站根目录新建⼀个名为1.asp;.jpg的文件

https://i-blog.csdnimg.cn/direct/45b7633c1cdf407aba1f2c74193ade16.png

2.用浏览器访问,代码被执行

https://i-blog.csdnimg.cn/direct/5fbdc174666a42a48f24b092169c653b.png

.asa/.cer/.cdx的文件都会被当做asp文件执行

https://i-blog.csdnimg.cn/direct/2ab91bd8adad4d1391023d20cbdc0e95.png

在默认Fast-CGI开启状况下,在⼀个⽂件路径/xx.jpg 后⾯加上/xx.php会将 /xx.jpg/xx.php 解析为 php ⽂件

1.配置环境

Windows中安装IIS后在安装PHPstudy for IIS

https://i-blog.csdnimg.cn/direct/76582c05d3c54e8ba3f1b447ab8fc9e5.png

2.配置 php.ini 文件,将 cgi.fix_pathinfo=1 前面的分号去掉,并重启

https://i-blog.csdnimg.cn/direct/adf91094892143c586f6a53b7a6fc50f.png

3. IIS –》 配置⽹站–》 处理程序映射–》 PHPStudy_FastCGI –》 请求限制 –》取消勾选

https://i-blog.csdnimg.cn/direct/246fabb6cc5742f7b64e1a37287a97bf.png

https://i-blog.csdnimg.cn/direct/95637bb874a14ec4a8f30cf04f4c3786.png https://i-blog.csdnimg.cn/direct/3db28996ccac4771b2e774df1d805acf.png 4.在网站根目录新建.jpg文件

https://i-blog.csdnimg.cn/direct/c4ca42293bcf462bb90455d8a7e57c83.png 5.访问并解析

https://i-blog.csdnimg.cn/direct/acd064eda3b14752be3fb6f9509d7fe1.png

https://i-blog.csdnimg.cn/direct/1467289ee970468cb00f300a9cb15644.png

这个解析漏洞其实是PHP CGI的漏洞,在PHP的配置⽂件中有⼀个关键的选项cgi.fix_pathinfo默认是开启的,当URL中有不存在的⽂件,PHP就会向前递归解析

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

cd /nginx/nginx_parsing_vulnerability

docker-compose build

docker-compose up -d

docker ps -a

2.浏览器访问网站

https://i-blog.csdnimg.cn/direct/7b24d625fd8047d3a2b28d445ee3ab23.png

3.上传图片马

https://i-blog.csdnimg.cn/direct/48b5707e6fa347e3ba3e30087d723cd0.png

1.启动靶场

cd vulhub-master/nginx/CVE-2013-4547x //切换到靶机⽬录

docker-compose build //创建环境

docker-compose up -d //打开环境

  1. 抓包上传.jpg文件,在.jpg后⾯添加两个空格并给上 .php 后缀,在16进制修改中将原本两个空格的 0x20 0x20 修改为0x20 0x00 进⾏发包,上传成功

https://i-blog.csdnimg.cn/direct/247dadc482204303a700bea57ee29db8.png https://i-blog.csdnimg.cn/direct/f7e81baa1275434d9acad918520cb7ea.png

访问上传后的文件,由于url会将其编码,需要继续抓包修改 0x20 0x20 为 0x20 0x00,访问成功

https://i-blog.csdnimg.cn/direct/64c3f90bc39e4ceb886ca7a8ff3078fb.png

https://i-blog.csdnimg.cn/direct/2ade9066ec3b4e3caa9ed9f8667b096d.png https://i-blog.csdnimg.cn/direct/c00c97f23cc144ce857c1fc1d0b233a4.png

https://i-blog.csdnimg.cn/direct/b6da5b7fd1074e4a8acf54aad98a5f23.png

Apache 解析⽂件的规则是从右到左开始判断解析,如果后缀名为不可识别⽂件解析, 就再往左判断

1.进⼊Vulhub靶场并执⾏以下命令启动靶场

cd /vulhub/httpd/apache_parsing_vulnerability

docker-compose up -d

docker ps -a

2. 访问靶机并上传 777.php.jpg 文件

https://i-blog.csdnimg.cn/direct/48ddf7b60d514cb9a32ce2238bb22e78.png

访问⽣成的shell.php并执⾏命令,执⾏成功

https://i-blog.csdnimg.cn/direct/91f68bbeb44d4eeb874674c1632d6cd3.png

连接蚁剑

https://i-blog.csdnimg.cn/direct/7124336b3b414fcdb58c509b8cbb5dda.png

在解析PHP时,1.php\x0A将被按照PHP后缀进⾏解析,导致绕过⼀些服务器的安全 策略

1.进⼊Vulhub靶场并开启⽬标靶机,进⾏访问

#启动靶机

cd /Vulnhub/vulhub-master/httpd/CVE-2017-15715

docker-compose up -d

2.上传文件抓包,在evil.php文件后⾯添加空格 0x20 在改为 0x0a 再次返送即可上传成功

https://i-blog.csdnimg.cn/direct/91abc2a84a85494da1ef24f8ba610f67.png

https://i-blog.csdnimg.cn/direct/cdd655a375954c5ea1f1ae8870e06ea3.png

访问上传的evil⽂件在后⾯加上 %0a 再访问发现解析了其中的PHP代码

https://i-blog.csdnimg.cn/direct/ca14aa38266447bebed5dc315ea2bc5d.png

访问shell.php

https://i-blog.csdnimg.cn/direct/52711954f4e9485ab637b554101e6b9e.png

蚁剑连接成功

https://i-blog.csdnimg.cn/direct/138a755f5f8a436ebc47a1f0fe8364d8.png