一、IIS解析漏洞
IIS6.X
环境:windows server 2003
目录解析
添加IIS服务器

点击添加/删除windows组件,然后找到应用程序服务器双击点开,勾选ASP后安装
安装后打开IIS信息服务管理器,WEB服务扩展全部改为允许

在网站目录新建文件夹为1.asp(注意是文件夹),在该文件夹下新建文件为1.txt,内容为
<%=now()%> ----可以显示当前时间
物理机访问IP/1.asp/1.txt,发现asp代码执行成功
分号截断解析
在IIS 6处理文件解析时,分号可以起到截断的效果。 1.asp;.jpg会被服务器看成是1.asp
在网站根目录下创建1.asp;.jpg文件,内容同上
物理机访问,发现执行成功
IIS7.X
在该版本下也存在解析漏洞,在默认Fast-CGI开启状况下,在一个文件路径/xx.jpg后面加上/xx.php会将/xx.jpg/xx.php 解析为 php 文件。
利用条件
1.php.ini里的cgi.fix_pathinfo=1 开启
2.lIS7在Fast-CGl运行模式下
环境配置
步骤一:在自己电脑或虚拟机中安装PHPstudy for IIS

步骤二:配置php.ini文件,将cgi.fix_pathinfo=1前的 ;删掉保存并重启
步骤三:lIS -->配置网站-->处理程序映射-->PHPStudy_FastCGl -->请求限制 -->取消勾选

步骤四:利用方法
在根目录下创建名为1.jpg的文件,内容如下
<?php phpinfo();?>
物理机访问该文件,在文件后加/.php,访问成功

二、Nginx解析漏洞
1.nginx_parsing
这个解析漏洞是PHP CGI的漏洞,在PHP的配置文件中有一个关键的选项 cgi.fix_pathinfo 默认是开启的,当URL中有不存在的文件,PHP就会向前递归解析。在一个文件/xx.jpg后面加上/.php会将 /xx.jpg/xx.php 解析为 php 文件
利用条件
Nginx <=0.8.37
cgi.fix_pathinfo=1 开启
利用方式
步骤一:浏览器中访问vulhub靶场网站

步骤二:制作图片马并进行上传,获取上传文件地址

没有上传成功,说明我们的PHP代码被检测到了,所以我们需要加一个图片的文件头。

再次上传发现成功
访问以下路径,利用Nginx解析漏洞http://IP/uploadfiles/468f61d0b18f70220b7a5628531d8666.jpg/.php

步骤三:复制上面链接,利用蚁剑连接,连接成功
2.CVE-2013-4547
该漏洞在上传图片时,修改其16进制编码可使其绕过策略,导致解析为php文件
影响版本
Nginx 0.8.41 ~ 1.4.3 / 1.5.0 ~ 1.5.7
利用方法
步骤一:浏览器中访问网站
步骤二:因为我们上传php文件会被拦截,所以在.jpg后面添加两个空格并给上.php后缀,上传时进行抓包,在16进制修改中将原本连个空格的0x20 0x20修改为0x20 0x00进行发包


得到文件地址,访问上传的文件

步骤三:由于url会将其编码,需要继续抓包修改0x20 0x20为0x20 0x00(将原来的%20%20删除,改成两个空格)


步骤四:访问写入的8888.php,访问成功,使用蚁剑连接

三、Apache解析漏洞
1.apache_parsing
在Apache1.x/2.x中apache解析文件的规则是从右到左开始判断解析,如果后缀名为不可识别文件解析,就再往左判断
利用方法
步骤一:访问靶机并上传1.php.jpg文件,代码如下
<?php phpinfo();?>
得到上传路径为/uploadfiles/1.php.jpg
步骤二:与网站进行路径拼接,进行访问,执行成功

2.CVE-2017-15715
Apache HTTPD是一款HTTP服务器,它可以通过mod_php来运行PHP网页。其2.4.0~2.4.29版本中存在一个解析漏洞,在解析PHP时,1.php\x0A将被按照PHP后缀进行解析,导致绕过一些服务器的安全策略
影响版本
2.4.0~2.4.29
利用方法
步骤一:浏览器访问网站
步骤二:尝试上传一句话木马文件,发现被拦截

步骤三:进行抓包,在1.php文件后面添加空格0x20在改为0x0a再次返送即可上传成功

步骤四:访问上传的1.php文件在后面加上%0a,页面没有卡顿说明访问成功,使用蚁剑进行连接,成功
1626

被折叠的 条评论
为什么被折叠?



