一、IIS解析漏洞
环境安装:windows2003+iis6
1.目录解析
.asp文件夹中的任意文件都会被当做asp文件去执行
1.在iis6的网站根目录新建⼀个名为1.asp的文件
2. 在1.asp中新建⼀个jpg文件。内容为 <%=now()%>asp代码
3.在外部浏览器中访问iis⽹站中的1.jpg 发现asp代码被执行
2.分号截断解析漏洞
分号可以起到截断的效果。也就是说 shell.asp;.jpg会被服务器看成是 shell.asp
1.在iis6的网站根目录新建⼀个名为1.asp;.jpg的文件
2.用浏览器访问,代码被执行
3.畸形文件解析
.asa/.cer/.cdx的文件都会被当做asp文件执行
4.iis7的phpcgi解析漏洞
在默认Fast-CGI开启状况下,在⼀个⽂件路径/xx.jpg 后⾯加上/xx.php会将 /xx.jpg/xx.php 解析为 php ⽂件
1.配置环境
Windows中安装IIS后在安装PHPstudy for IIS
2.配置 php.ini 文件,将 cgi.fix_pathinfo=1 前面的分号去掉,并重启
3. IIS --》 配置⽹站--》 处理程序映射--》 PHPStudy_FastCGI --》 请求限制 --》取消勾选
4.在网站根目录新建.jpg文件
5.访问并解析
二、Nginx解析漏洞
1.nginx_parsing
这个解析漏洞其实是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.浏览器访问网站
3.上传图片马
2.CVE-2013-4547
1.启动靶场
cd vulhub-master/nginx/CVE-2013-4547x //切换到靶机⽬录
docker-compose build //创建环境
docker-compose up -d //打开环境
2. 抓包上传.jpg文件,在.jpg后⾯添加两个空格并给上 .php 后缀,在16进制修改中将原本两个空格的 0x20 0x20 修改为0x20 0x00 进⾏发包,上传成功
访问上传后的文件,由于url会将其编码,需要继续抓包修改 0x20 0x20 为 0x20 0x00,访问成功
三、 Apache解析漏洞
1.apache _ parsing
Apache 解析⽂件的规则是从右到左开始判断解析,如果后缀名为不可识别⽂件解析, 就再往左判断
1.进⼊Vulhub靶场并执⾏以下命令启动靶场
cd /vulhub/httpd/apache_parsing_vulnerability
docker-compose up -d
docker ps -a
2. 访问靶机并上传 777.php.jpg 文件
访问⽣成的shell.php并执⾏命令,执⾏成功
连接蚁剑
2. CVE-2017-15715
在解析PHP时,1.php\x0A将被按照PHP后缀进⾏解析,导致绕过⼀些服务器的安全 策略
1.进⼊Vulhub靶场并开启⽬标靶机,进⾏访问
#启动靶机
cd /Vulnhub/vulhub-master/httpd/CVE-2017-15715
docker-compose up -d
2.上传文件抓包,在evil.php文件后⾯添加空格 0x20 在改为 0x0a 再次返送即可上传成功
访问上传的evil⽂件在后⾯加上 %0a 再访问发现解析了其中的PHP代码
访问shell.php
蚁剑连接成功