2026 H&NCTF-include
原创
識.
識.
0xNyx
2026年8月3日 07:56
安徽
在小说阅读器读本章
去阅读
在公众号小说中沉浸阅读
复现的靶场是wss协议,下载工具后即可简单部署本地
抓包看看回显
经过测试发现必须以 .php 结尾: 否则返回 \"template must end with .php\",禁止 ..: 防止路径穿越
禁止 ://: 阻止 PHP 流封装器 (php://filter, file://, data:// 等),过滤器使用strpos()函数,位于 /var/www/html/index.php 第 12 行include() 在第 113 行
最终发现pearcmd.php存在于/usr/local/lib/php/pearcmd.php
pearcmd.php是Pear工具的核心执行文件,是具体实现 pear 功能的脚本
/usr/local/lib/php/pearcmd.php&+config-create+/<?=implode(\",\",scandir(\"/\"));?>+/tmp/ls.php
CLI参数注入写文件
/tmp/ls.php,包含ls.php列目录
PEAR-RCE-读flag,
包含flag.php
总结:
include题主要解决的是受限制的文件包含问题。刚开始抓包发现 file 参数限制很多,必须以 .php 结尾,还禁止 .. 和 ://,所以普通路径穿越和 PHP 伪协议都不能用。后来发现服务器里有 /usr/local/lib/php/pearcmd.php,可以利用 PEAR 参数注入写 PHP 文件。关键点是过滤只检查 file 参数,不检查后面的 query string 参数,所以可以把代码传进 pearcmd.php。最后先用 scandir() 列目录找到 /flag,再用 file_get_contents() 读取。难点是思路要从“直接包含文件”转到“先写文件再包含执行”。
版权声明
本站仅做备份收录,仅供研究与教学参考之用。
读者将信息用于其他用途的,全部法律及连带责任由读者自行承担,本站不承担任何责任。









评论