文件解析漏洞是指由于应用程序对上传的文件类型和内容没有充分的验证和过滤,导致一些特殊文件被 IIS、apache、nginx 或其他 Web服务器在某种情况下解释成脚本文件执行。导致攻击者可以上传恶意文件,绕过应用程序的安全限制,执行恶意代码或者访问敏感数据的漏洞。
常见解析漏洞
apache解析漏洞
Apache解析漏洞主要是因为Apache默认一个文件可以有多个用.分割得后缀,当最右边的后缀无法识别(mime.types文件中的为合法后缀)则继续向左看,直到碰到合法后缀才进行解析(以最后一个合法后缀为准)
例如:
dff.php.owf.rar 这个文件名 .owf和.rar 这两种后缀是apache不可识别的解析,apache就会把 dff.php.owf.rar解析成 dff.php 。
其实漏洞的产生, 是由于运维人员在配置服务器时,为了使 apache 服务器能解析 php ,而自己添加一个handler,它的作用也是为了让 apache 把 php 文件交给 php_module 解析 , 但是注意到它与 SetHandler: 它的后缀不是用正则去匹配的。所以 ,在文件名的任何位置匹配到php后缀,它都会让php_module解析。
AddType application/xhttpdphp .php
修复:不要使用AddHandler, 改用 SetHandler, 写好正则 , 就不会有解析问题
Apache换行解析漏洞(CVE-2017-15715)
影响范围:2.4.0-2.4.29版本
原因:合法后缀配置文件中的正则表达式中$不仅匹配字符串结尾位置,还可以匹配\n或\r,在解析php时,1.php\x0A将按照.php进行解析,而’.php\x0A’ != ‘.php’,可能过滤时过滤了.php但没有过滤.php\x0A从而实现绕过。
配置文件:过滤后缀名.php
<FilesMatch \.php$>
SetHandler application/x-httpd-php
`>
可以看到在正则中是 \.php$, 因为结尾有个 $ 符号,结合上述原理, $ 匹配配 ‘\n’ 或 ‘\r’ ,所以我们修改数据包在文件名后加\n , \n 的十六进制为 0a
修复:
升级到最新版本
在httpd.conf中加入其他正则表达式。
nginx解析漏洞
nginx<8.03
由于nginx默认是用cgi解析php的(即开启fast-cgi模式),由于nginx.conf的如下配置导致nginx把以’.php’结尾的文件交给fastcgi处理,对于任意文件名,在后面添加/xxx.php(xxx)为任意字符后,即可将文件作为php解析,因此和IIS一样制作图片马。
<?PHP fputs(fopen('shell.php','w'),'<?php eval($\\\_POST\\\[cmd\\\])?>');?>直接访问http://xx.xx.xx.xx/1.jpg/.php
修复:
1、 将php.ini文件中的cgi.fix_pathinfo的值设置为0
2、 php-fpm.conf中的security.limit_extensions后面的值设置为.php
nginx 0.5,0.6, 0.7 <= 0.7.65, 0.8 <= 0.8.37
nginx遇到%00后和fastcgi解析不一致,所以可以上传一个1.jpg图片马,然后访问http://xx.xx.xx.xx/1.jpg%00.php,这样就将jpg文件当做php文件执行了。
修复:
升级nginx版本
IIS解析漏洞
IIS 5.0/6.0
在某个.asp(.php)文件名的文件夹下的任何文件都将作为asp(php)文件执行,
即假设你能控制文件目录名,可以改变文件名为.asp(.php),然后写入一个jpg图片马,访问http://xx.xx.xx.xx/1.php/1.jpg可以连接
修复:
升级IIS版本
IIS 6.0
如xx.asp;.jpg,由于IIS不解析;后面的内容,所以就将此文件当成xx.asp进行解析,可以利用,同时IIS还可以解析xx.asa xx.cer xx.cdx文件
修复:微软认为这不是一个漏洞,所以要自己修复。
限制上传目录执行权限,不允许执行脚本。
不允许新建目录。
上传的文件经过重命名
IIS 7.x
利用条件:在php.ini里修改cgi.cgi_pathinfo=1,在fast-cgi模式下运行
当在一个文件路径(/xx.jpg)后面加上/xx.php会将/xx.jpg/xx.php 解析为 php 文件。
制作图片马,在当前位置下新建一个shell后门文件
Payload :<?PHP fputs(fopen('shell.php','w'),'<?php eval($\\\_POST\\\[cmd\\\])?>');?>
访问 图片后面加 /xx.php即可解析
修复:
配置cgi.fix_pathinfo(php.ini中)为0(默认情况下值为1)并重启php-cgi程序。
windows解析漏洞
上传jsp%20的文件或者jsp.,windows会删除.和空格
上传jsp::DATA文件,windows会不检测DATA后面的后缀名,且保留DATA之前的文件名
上传不规则字符如 2.jsp:1.php ,windows会删除不规则:符号后面的内容
题外话
黑客&网络安全如何学习
今天只要你给我的文章点赞,我私藏的网安学习资料一样免费共享给你们,来看看有哪些东西。
1.学习路线图
攻击和防守要学的东西也不少,具体要学的东西我都写在了上面的路线图,如果你能学完它们,你去就业和接私活完全没有问题。
2.视频教程
网上虽然也有很多的学习资源,但基本上都残缺不全的,这是我们和网安大厂360共同研发的的网安视频教程,之前都是内部资源,专业方面绝对可以秒杀国内99%的机构和个人教学!全网独一份,你不可能在网上找到这么专业的教程。
内容涵盖了入门必备的操作系统、计算机网络和编程语言等初级知识,而且包含了中级的各种渗透技术,并且还有后期的CTF对抗、区块链安全等高阶技术。总共200多节视频,200多G的资源,不用担心学不全。
因篇幅有限,仅展示部分资料,需要见下图即可前往获取
🐵这些东西我都可以免费分享给大家,需要的可以点这里自取👉:网安入门到进阶资源
3.技术文档和电子书
技术文档也是我自己整理的,包括我参加大型网安行动、CTF和挖SRC漏洞的经验和技术要点,电子书也有200多本,由于内容的敏感性,我就不一一展示了。
因篇幅有限,仅展示部分资料,需要点击下方链接即可前往获取
🐵这些东西我都可以免费分享给大家,需要的可以点这里自取👉:网安入门到进阶资源
4.工具包、面试题和源码
“工欲善其事必先利其器”我为大家总结出了最受欢迎的几十款款黑客工具。涉及范围主要集中在 信息收集、Android黑客工具、自动化工具、网络钓鱼等,感兴趣的同学不容错过。
还有我视频里讲的案例源码和对应的工具包,需要的话也可以拿走。
🐵这些东西我都可以免费分享给大家,需要的可以点这里自取👉:网安入门到进阶资源
最后就是我这几年整理的网安方面的面试题,如果你是要找网安方面的工作,它们绝对能帮你大忙。
这些题目都是大家在面试深信服、奇安信、腾讯或者其它大厂面试时经常遇到的,如果大家有好的题目或者好的见解欢迎分享。
参考解析:深信服官网、奇安信官网、Freebuf、csdn等
内容特点:条理清晰,含图像化表示更加易懂。
内容概要:包括 内网、操作系统、协议、渗透测试、安服、漏洞、注入、XSS、CSRF、SSRF、文件上传、文件下载、文件包含、XXE、逻辑漏洞、工具、SQLmap、NMAP、BP、MSF…
因篇幅有限,仅展示部分资料,需要点击下方链接即可前往获取
🐵这些东西我都可以免费分享给大家,需要的可以点这里自取👉:网安入门到进阶资源
————————————————
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
侵权,请联系删除。