当前位置:首页 > 焦点 > cltphp任意文件删除

cltphp任意文件删除

2026-10-17 05:44:56 [知识] 来源:力不从心网

CLTPHP 的任意任意文件删除漏洞,藏在一个看起来人畜无害的文件参数里。去年秋天我帮朋友排查一个建站项目,删除后台登录后随手点了几个功能,任意发现删除缓存的文件操作居然能直接指定路径。当时没太在意,删除后来翻源码才确认——这玩意儿根本没做路径过滤。任意

问题出在 app/admin/controller/Common.php 这类公共控制器里。文件开发者写了个删除文件的删除方法,大概长这样:

public function delFile() {  $path = input('path'); if (file_exists($path)) {  unlink($path); return json(['code' => 1,任意 'msg' => '删除成功']); } }

路径直接从请求参数拿,拼都不拼一下,文件unlink() 就上去了。删除攻击者抓包改个 path=../../config/database.php,任意服务器上对应的文件配置文件就没了。删配置文件还算轻的删除,要是能删 .htaccess 或者入口文件 index.php,站点直接瘫痪。更狠一点,删掉 install.lock,系统会重新走安装流程,数据库配置被覆盖,整个站就成别人的了。

这个漏洞的触发门槛低得离谱。只要拿到后台权限——弱口令、爆破、或者别的漏洞组合——就能利用。有些版本连后台都不需要,接口直接暴露在前台。我见过一个案例,攻击者用脚本批量扫 /admin/common/delFile?path= 这个路径,一晚上删了几百个站点的 runtime 目录,服务器日志里全是 unlink 失败的错误。

为什么会出现这种低级问题?翻了下 CLTPHP 的更新记录,2018 年到 2020 年间的版本迭代很快,代码质量参差不齐。开发者可能觉得“后台功能,管理员才能用,没必要防”。这种思路在早期 CMS 里很常见——权限校验做了,但输入校验漏了。问题是,后台权限和文件系统权限是两码事。管理员能删缓存,不代表能删系统文件。

修复方式倒不复杂。把 $path 做白名单限制,或者用 realpath() 转成绝对路径后判断是否在允许的目录内。再狠一点,直接写死要删的文件名,不让传参。可惜很多站点用的是旧版,源码里改起来麻烦,干脆打个补丁在入口处过滤 .. 和 /。我见过一个运维直接上 open_basedir,把 PHP 能访问的目录锁死在 web 根目录,虽然粗暴但有效。

说个细节。这个漏洞的 PoC 在网上流传的版本里,有人用 path=../../../../etc/passwd 去读文件,发现读不了——因为 unlink 不是 file_get_contents,删和读是两回事。但有人不死心,试了 path=../../../../tmp/sess_xxx,把 session 文件删了,导致自己掉线。这种“自杀式”利用看起来好笑,但换成删别人的 session,就是另一回事了。

如果你正在用 CLTPHP,赶紧去看看 Common 控制器里有没有类似的方法。搜 unlink 关键字,看看参数从哪里来。有过滤就加固,没过滤就赶紧补。别等站点被删空了才想起来查日志——那时候日志可能也被删了。

(责任编辑:焦点)

推荐文章
  • 细胞渗透修复疗法多少钱

    细胞渗透修复疗法多少钱 上周陪表姐去咨询细胞渗透修复疗法,医生开口就是“按疗程收费,单次一万二起”。她当场愣住,我也倒吸一口气——这价格够在小城市付半年房租了。 细胞渗透修复疗法到底多少钱?我查了十几家机构,问了几位从业者, ...[详细]
  • 方案怎么写

    方案怎么写 我见过太多人把方案写成说明书,或者写成散文诗。他们忘了方案是给人看的,更是给人用的。 上周帮一个创业团队改融资方案,创始人写了四十多页,从公司愿景写到团建活动。投资人翻了三页就合上了,说看不懂他们要干 ...[详细]
  • 网页权限设置在哪里

    网页权限设置在哪里 网页权限设置不在别处,就在你浏览器的地址栏旁边,那个常常被忽略的小锁图标里。点开它,你会看到“网站设置”或“权限”选项,这才是控制摄像头、麦克风、位置、通知等权限的真正入口。 我用Chrome浏览器多 ...[详细]
  • 星空代理ip官网

    星空代理ip官网 星空代理ip官网的首页,第一眼看上去并不惊艳。深蓝色的底,白色字体,几行功能介绍,一个醒目的“立即购买”按钮——典型的工具型网站长相。 但真正让我记住这个网站的,是一次爬虫实战。 当时我在采集某电商平 ...[详细]
  • 国外文化渗透的案例

    国外文化渗透的案例 去年秋天,我在首尔明洞的一家连锁咖啡店里,看见一个五岁的小女孩用英语点单。她妈妈站在旁边,用带口音的英语帮她补充说明。店员是个韩国大学生,全程用标准美式英语回应。点完单,小女孩转头用韩语问妈妈:“可以 ...[详细]
  • 廉政风险点堵塞制度漏洞推动治理

    廉政风险点堵塞制度漏洞推动治理 某市住建局原副局长被留置后,办案人员在其办公室搜出37本笔记本。每本都密密麻麻记着开发商送的购物卡金额、装修费报销凭证、甚至子女留学的中介收据。最讽刺的是,其中一本扉页上写着“警钟长鸣”四个大字。 这 ...[详细]
  • 原创漏洞证明贡献者证书

    原创漏洞证明贡献者证书 那天下班前,我收到一个顺丰包裹,拆开是硬质红皮证书,烫金字体写着“原创漏洞证明贡献者证书”。说实话,我愣了几秒。这玩意儿不是电子版发到邮箱就完了吗? 证书正文只有三行。漏洞编号,漏洞名称,发现时间。落 ...[详细]
  • 知识渗透

    知识渗透 凌晨两点,我还在翻一本上世纪90年代的《电脑报》合订本。纸页发黄,上面印着BASIC语言教程,还有一篇讲“内存优化”的文章,作者苦口婆心地教读者如何在DOS下用QEMM挤出几KB常规内存。那时候,懂这 ...[详细]
  • 新开传奇网站3000ok佣兵

    新开传奇网站3000ok佣兵 新开传奇网站3000ok佣兵,这名字听着就带着一股老炮儿的味儿。我前天晚上十一点点进去,服务器刚开半小时,比奇城门口已经挤得人贴着人,地上全是药水瓶子。 说实话,现在还敢碰佣兵版本的人,多半是三十岁往 ...[详细]
  • 程序员常用网站

    程序员常用网站 打开浏览器,地址栏里敲下github.com,这动作比开冰箱门还熟练。GitHub是程序员的第二大脑,也是代码仓库的集散地。你在这找轮子,看别人怎么踩坑,偶尔也把自家代码挂上去,等着被陌生人挑刺。某个 ...[详细]
热点阅读