文件解析漏洞大全

目录

一、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说明存在解析漏洞,至此结束!

相关推荐
北极光SD-WAN组网8 小时前
工业互联网时代,如何通过混合SD-WAN提升煤炭行业智能化网络安全
网络·安全·web安全
落鹜秋水10 小时前
Cacti命令执行漏洞分析(CVE-2022-46169)
web安全·网络安全
pencek11 小时前
XCTF-crypto-幂数加密
网络安全
会议之眼12 小时前
截稿倒计时 TrustCom‘25大会即将召开
网络安全
周先森的怣忈12 小时前
渗透高级-----测试复现(第三次作业)
网络安全
MUY099012 小时前
OSPF之多区域
网络·网络安全
未来之窗软件服务14 小时前
网站访问信息追踪系统在安全与性能优化中的关键作用——网络安全—仙盟创梦IDE
安全·web安全·性能优化·仙盟创梦ide·东方仙盟
介一安全19 小时前
【Web安全】逻辑漏洞之URL跳转漏洞:原理、场景与防御
安全·web安全·安全威胁分析·安全性测试·逻辑漏洞·url跳转
希望奇迹很安静21 小时前
文件包含学习总结
安全·web安全·渗透测试学习