文件解析漏洞大全

目录

一、IIS解析漏洞

IIS6.X

目录解析

漏洞原理

漏洞复现

畸形文件解析&其他文件扩展名

漏洞原理

漏洞复现

IIS7.X

漏洞原理

前提条件

漏洞复现

二、Nginx解析漏洞

nginx_parsing

漏洞原理

观察页面,上传文件

获取GetShell

CVE-2013-4547

漏洞原理

观察页面,上传文件

获取GetShell

三、Apache解析漏洞

apache_parsing

漏洞原理

观察页面,上传文件

获取GetShell

CVE-2017-15715

漏洞原理

观察页面,上传文件

获取GetShell


一、IIS解析漏洞

IIS6.X

目录解析
漏洞原理

在iis6.x中,.asp文件夹中的任意文件都会被当做asp文件去执行。

漏洞复现

在IIS的网站根目录新建一个1.asp的文件夹

在1.asp中新建一个1.jpg文件,内容为<%=now()%>

在外部浏览器访问Windows2003的IIS网站中的1.jpg发现asp代码被被执行

在根目录创建1.jpg,内容与1.asp文件夹中的内容一样,再去访问,发现无法解析。

到这里,说明1.asp中的文件被当作asp文件执行,说明存在漏洞,至此结束!

畸形文件解析&其他文件扩展名
漏洞原理

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

漏洞复现

我们在网站根目录新建文件2.asa;jpg和2.asa,内容皆为<%=now()%>

接下来我们在外部浏览器访问一下,查看是否被解析。

发现都被解析,说明;起到了截断的作用,且asa文件也被解析,说明漏洞存在,至此结束!

IIS7.X

漏洞原理

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

前提条件

1.php.ini里的cgi.fix_pathinfo=1 开启

2.lS7在Fast-CGl运行模式下

漏洞复现

在目录添加文件并访问,文件内容如下

在浏览器中访问。

发现无法访问,我们在后面拼接.php再次访问

使用蚁剑尝试连接。

连接成功,发现解析了其中的PHP代码,但后缀不是php说明存在解析漏洞,至此结束!

二、Nginx解析漏洞

nginx_parsing

漏洞原理

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

观察页面,上传文件

我们上传268.php这个文件,文件内容如下

提交文件

获取GetShell

访问所给的文件地址

访问到文件,我们在后面加上.php,让其错误解析,从而获取GetShell。

使用蚁剑尝试连接。

连接成功,发现解析了其中的PHP代码,但后缀不是php说明存在解析漏洞,至此结束!

CVE-2013-4547

漏洞原理

此漏洞为文件名逻辑漏洞,该漏洞在上传图片时,修改其16进制编码可使其绕过策略,导致解析为php。当Nginx得到一个用户请求时,首先对ur进行解析,进行正则匹配,如果匹配到以.php后缀结尾的文件名,会将请求的PHP文件交给PHP-CGI去解析。

观察页面,上传文件

上传文件256.jpg,根据原理,我们配合burpsuit来使用。

获取GetShell

我们在filename中将文件名后面加上 .php,再在Hex中将第二个20改为00,上传文件即可。

放行数据包即可,观察页面回显。

发现文件上传成功,接下来我们去访问即可。

发现可以访问到文件,但是需要注意,这个文件大概率是我们第一次上传的文件,因为我们第二次上传的文件并不是这个文件名,我们在后面加上 .php,但是需要注意,我们刚刚在burpsuit中对文件名进行过修改,所以我们访问时也需要修改文件名。

首先将我们的数据还原,将%20改回空格,再对Hex中的第二个20改为00,然后放行。

放行,查看回显。

发现有回显,我们成功连到了这个木马,我们尝试使用蚁剑连接一下。

发现无法连接,这是因为我们必须要修改文件名的Hex的第二个20改为00,但是我们无法在蚁剑中修改,就和我们无法在浏览器中直接访问一样,接下来我们修改我们的木马,让它去生成木马,修改如下。

我们再次上传,尝试连接,其他的步骤与上述无异。我们上传147.jpg,并重复之前的操作,147文件内容如下:

上述的文件会帮我们生成一个shell.php,我们去访问一下。

访问成功,我们用蚁剑连接一下。

连接成功,发现解析了其中的PHP代码,但后缀不是php说明存在解析漏洞,至此结束!

三、Apache解析漏洞

apache_parsing

漏洞原理

Apache HTTPD支持⼀个文件拥有多个后缀,并为不同后缀执行不同的指令

观察页面,上传文件

根据原理,上传文件shell.php.jpg这是一个jpg文件。

上传成功,我们去访问一下。

获取GetShell

访问成功,由于我们文件还是刚刚的那个,所以会生成一个shell.php我们去访问并用蚁剑连接。

连接成功,说明解析了我们的php代码,但是文件后缀名不是php而是jpg,说明存在漏洞,至此结束!

CVE-2017-15715

漏洞原理

Apache HTTPD是一款HTTP服务器,它可以通过mod_php来运行PHP网页。其2.4.0~2.4.29版本中存在一个解析漏洞,在解析PHP时,1.php\xOA将被按照PHP后缀进行解析,导致绕过一些服务器的安全策略

观察页面,上传文件

这里我们上传文件889.php,文件内容如下

获取GetShell

发现不允许提交,我们依旧抓包来试一下。

观察抓到的包,我们来看一下,这一次他给我们指定了文件名,所以这次我们应该在evil.php后面进行更改,我们尝试更改,并在Hex中将第20改为00。

尝试上传并访问。

发现回显警告了,我们不理他,直接去访问一下,看看有没有上传成功。它并没有给我们路径,证明尝试直接将文件名拼接在后面尝试一下。并且使用burpsuit将其改为00试一下。

放行,查看回显。

发现回显错误,要注意的是这里和前面不一样,因为连GIF89a都没有出现,就说明我们的木马并没有生效,所以不用去访问shell.php,没有用的。证明这种方式不行。我们换一个。这次我们将20变为0a来尝试一下。步骤与上述无异。

这一次我们就看到了GIF89a,说明我们这一次访问到了。要注意在浏览器后面拼接%0a,接下来我们访问生成的shell.php并且使用蚁剑连接。

连接成功,发现解析了其中的PHP代码,但后缀不是php说明存在解析漏洞,至此结束!

相关推荐
treesforest1 小时前
网络安全中的IP地址查询:从日志里的一条线索到溯源的关键证据
网络·web安全·php
未来之窗软件服务2 小时前
自考大学★信息安全●简答题—东方仙盟
安全·web安全·仙盟创梦ide·东方仙盟
XLYcmy2 小时前
基于图神经网络的物联网固件漏洞静态挖掘技术方案 上
神经网络·物联网·网络安全·二进制·elf·漏洞检测·固件
Frag0ut4 小时前
Chrome打开某网站突然卡顿,是中了“挖矿病毒”吗?
chrome·网络安全·浏览器·chromium·挖矿病毒·技术科普
卓怡学长5 小时前
w213基于Spring Boot框架的Web安全学习系统的设计与实现
java·spring boot·spring·web安全·intellij-idea
恣睢s20 小时前
BugKu——shell
网络安全
黄金龙PLUS1 天前
5个1024比特大状态置换算法的设计与分析
算法·网络安全·密码学·哈希算法·同态加密
云水一下7 天前
零基础玩转bWAPP靶场(七十一):Slow HTTP DoS(慢速HTTP拒绝服务)
web安全·bwapp·slowhttptest
XUEYUAN52127 天前
ASN 自治系统号风控:平台如何通过 IP 所属自治域批量识别代理流量
python·网络协议·http·网络安全·socks5
其实防守也摸鱼7 天前
内网穿透与反向代理:原理、工具与实战指南
android·大数据·运维·安全·网络安全·自动化·渗透