2026H&NCTF-include

admin 2026-08-28 04:59:23 网络安全文章 来源:ZONE.CI 全球网 0 阅读模式

文章总结: 该文档是H&NCTF竞赛中一道文件包含漏洞的解题思路。核心难点在于file参数限制严格,必须以.php结尾且禁止…和://,导致常规路径穿越和PHP伪协议失效。关键突破是利用服务器上存在的pearcmd.php进行参数注入,通过config-create参数写入PHP文件,最终实现列目录并读取flag。可操作建议是遇到类似限制时,可尝试利用服务器组件如PEAR进行参数注入。 综合评分: 78 文章分类: CTF,WEB安全,渗透测试,漏洞分析


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.phpPear工具的核心执行文件,是具体实现 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() 读取。难点是思路要从“直接包含文件”转到“先写文件再包含执行”。


免责声明:

本文所载程序、技术方法仅面向合法合规的安全研究与教学场景,旨在提升网络安全防护能力,具有明确的技术研究属性。

任何单位或个人未经授权,将本文内容用于攻击、破坏等非法用途的,由此引发的全部法律责任、民事赔偿及连带责任,均由行为人独立承担,本站不承担任何连带责任。

本站内容均为技术交流与知识分享目的发布,若存在版权侵权或其他异议,请通过邮件联系处理,具体联系方式可点击页面上方的联系我

本文转载自:0xNyx 識. 識.《2026 H&NCTF-include》

    2026H&NCTF-include 网络安全文章

    2026H&NCTF-include

    文章总结: 该文档是H&NCTF竞赛中一道文件包含漏洞的解题思路。核心难点在于file参数限制严格,必须以.php结尾且禁止…和://,导致常规路径穿越和PHP
    评论:0   参与:  0