IIS
解析漏洞(iis6.x)
基于文件名,该版本默认会将*.asp;jpg此种格式的文件名,当成Asp解析,原理是服务器默认不解析;及后面的内容,相当于截断。
基于文件夹名,该版本 默认会将 *.asp/目录下的所有文件当成Asp解析。
另外,IIS6.x除了会将扩展名为.asp的文件解析为asp之外,还默认会将扩展名为.asa,.cdx,.cer解析为asp,从网站属性->主目录->配置 可以看出,他们都是调用了asp.dll进行的解析。
修复建议
1. 限制上传目录执行权限,不允许执行脚本
2. 不允许新建目录。
3. 上传的文件需经过重命名(时间戳+随机数+.jpg等)
解析漏洞(iis7.x)
IS7.x版本 在Fast-CGI运行模式下,在任意文件,例:test.jpg后面加上/.php,会将test.jpg 解析为php文件。
修复建议
配置cgi.fix_pathinfo(php.ini中)为0并重启php-cgi程序
PUT任意文件写入
IIS Server 在 Web 服务扩展中开启了 WebDAV之后,支持多种请求,配合写入权限,可造成任意文件写入
修复建议
关闭WebDAV 和 写权限
IIS短文件漏洞
Windows 以 8.3 格式生成与 MS-DOS 兼容的(短)文件名,以允许基于 MS-DOS 或 16 位 Windows的程序访问这些文件。在cmd下输入"dir /x"即可看到短文件名的效果。
Apache
解析漏洞 (未知扩展名解析漏洞)
Apache的解析漏洞依赖于一个特性: Apache默认一个文件可以有多个以点分割的后缀,当最右边的后缀无法识别(不在默认一个文件可以有多个以点分割的后缀,当最右边的后缀无法识别(不在mime.types文件),则继续向左识别,直到识别到合法后缀才进行解析
实战中可以上传rar,owf等文件进行利用,如果上传phpinfo.php.jpg,即使文件名中有.php,也会直接解析为jpg。因为Apache认识.jpg,停止继续向左识别。
AddHandler导致的解析漏洞
如果运维人员给.php后缀增加了处理器:
AddHandler application/x-httpd-php .php
那么,在有多个后缀的情况下,只要一个文件名中含有.php后缀,即被识别成PHP文件,没必要是最后一个后缀。 利用这个特性,将会造成一个可以绕过上传白名单的解析漏洞。
Apache HTTPD 换行解析漏洞
影响范围:2.4.0~2.4.29版本
环境:phpstudy2014 Apache + PHP5.4n
此漏洞形成的根本原因,在于$, 正则表达式中$不仅匹配字符串结尾位置,也可以匹配n 或 r
在解析PHP时,1.phpx0A将被按照PHP后缀进行解析,导致绕过一些服务器的安全策略。
修复建议 :
1. 升级到最新版本
2. 或将上传的文件重命名为为时间戳+随机数+.jpg的格式并禁用上传文件目录执行脚本权限
Nginx
Nginx配置文件错误导致的解析漏洞
对于任意文件名,在后面添加/xxx.php(xxx为任意字符)后,即可将文件作为php解析。
该漏洞是Nginx配置所导致,与Nginx版本无关,下面是常见的漏洞配置。
修复建议
1.配置cgi.fix_pathinfo(php.ini中)为0并重启php-cgi程序。
2.或如果需要使用到cgi.fix_pathinfo这个特性(例如:Wordpress),那么可以禁止上传目录的执行脚本权限。 或将上传存储的内容与网站分离,即站库分离。
3.或高版本PHP提供了security.limit_extensions这个配置参数,设置security.limit_extensions = .php
Nginx 空字节任意代码执行漏洞
影响版本:Nginx 0.5*, 0.6*,0.7 <= 0.7.65,0.8 <= 0.8.37
Windows环境 Nginx 0.7.65+php 5.3.2
在nginx-0.7.65/html/目录下创建info.jpg,内容为,
访问info.jpg,并抓包,修改为info.jpg..php,在Hex选修卡中将jpg后面的.,更改为00.
Nginx 文件名逻辑漏洞(CVE-2013-4547)
影响版本:Nginx 0.8.41 ~ 1.4.3 / 1.5.0 ~ 1.5.7
使用Vulhub的docker进行复现。
访问http://your-ip:8080/ 上传文件
访问http://your-ip:8080/uploadfiles/info.jpg, 并抓包,修改为info.jpg...php, 在Hex选修卡中将jpg后面的两个点2e改成20,00 点击Go,如下。
Note:该漏洞不受cgi.fix_pathinfo影响,当其为0时,依旧解析,在Windows上有所限制。



