文件解析是什么
文件解析漏洞 是指 网络应用程序在处理用户上传的文件时,由于程序对文件的验证机制不严格或存在缺陷,导致攻击者可以上传恶意构造的文件,进而在服务器上执行任意代码,获取敏感信息或进行其他恶意操作。Web 容器(Apache、nginx、iis 等)在解析文件时出现了漏洞,以其他格式执行出脚本格式的效果。从而,黑客可以利用该漏洞实现非法文件的解析。
通常与文件上传漏洞配合
"文 件上传漏洞可以使攻击者上传特制的文件,而文件解析漏洞则可能让这些文件被服务器执行,这两个漏洞常常在攻击场景中同时出现,共同导致严重的安全后果。"
危害包括:
- 执行任意代码
- 获取敏感信息
- 进行Dos攻击
- 绕过安全限制
一、IIS6.X解析漏洞
目录解析
当在网站根目录下创建.asp/.asa 文件夹,里面的所有文件都会被当作.asp后缀的文件进行解析
1 . 利用2003虚拟机进行实验,在1.asp文件夹下创建1.txt文件 输入 asp可解析语句 “ <%=now%> ” 并查看ip
2 . 利用物理机进行访问 1.asp文件夹下的1.txt文件 发现解析
畸形解析
由 于IIS不解析 ; 后面的内容,所以就将此文件当成xx.asp进行解析,但是文件类型还是以最后的后缀为准。类似隔断。(例如 : 1.asp;.jpg = 1.asp 1.asp;.txt = 1.asp )
1. 文件内容输入“<%=now%>” 改后缀为 1.asp;.jpg 发现文件格式还是jpg
2. 文件被作为.asp 后缀可执行文件进行解析
二、IIS7.X解析漏洞
在IIS7.0和I1S7.5版本下也存在解析漏洞,在默认Fast-CGI开启状况下,在一个文件路径/xx.jPg后面加上/xx.php会将/xx.jpg/xx.php解析为 php 文件。
1. 打开小皮IIS启动服务利用物理机进行实验
2. 在网站根目录下创建1.jpg 并键入phpinfo()语句
3. 访问localhost:8980/1.jpg 发现文件错误(正常,因为不是正常图片,只是一个无法显示的文本)
4. 访问1.jpg/.php 发现解析
三、Nginx解析漏洞
由于nginx默认是用cgi解 析php的(即开启fast-cgi模式),由于nginx.conf的如下配置导致nginx把以’.php’结尾的文件交给fastcgi处理,对于 任意文件名,在后面添加/xxx.php(xxx)为任意字符后,即可将文件作为php解析,因此和IIS一样制作图片马。