CVE-2024-57252
本文最后更新于 2026年4月16日 下午
参考链接
网钛CMS(OTCMS) 是一款内容管理系统。
Version:V7.46
测试环境:phpstudy - Apache2.4.39+Mysql8.0.12+PHP 7.3.4
收集到历史ssrf漏洞2023-1/ssrf/ssrf.md at main · BigTiger2020/2023-1(Version: 6.72)
通过diff版本的漏洞代码部分,发现classReqUrl.php的ReqUrl类的调用点不止一个,也就是同一个sink污点有不同的source流入。
继而有以下分析。
利用过程
漏洞文件:/admin/read.php
在classReqUrl.php的ReqUrl类中,定义了一个UseAuto 方法,对传入参数 $seMode 进行匹配模式


该switch的默认选项按下面的规则顺序来执行
1 | |
跟进ReqUrl::UseCurl,执行了curl

并且返回结果

查找ReqUrl::UseCurl的调用点,在admin/read.php的AnnounContent()方法

url由get请求传入,并且设置了模式为0,即默认模式,只要服务器php开启了curl插件就会执行curl模式
根据AnnounContent()方法的实现

通过get传入的mudi参数指定
read.php中没有身份校验,也没有对传入的url进行任何过滤
SSRF构造请求file协议读取文件http://127.0.0.1/admin/read.php?mudi=announContent&url=file:///etc/passwd
linux

windows
http://127.0.0.1/admin/read.php?mudi=announContent&url=file:///C:/Windows/System32/drivers/etc/hosts

POC
1 | |
修复建议:
增加对url参数的过滤
对访问/admin/目录的文件进行身份验证,需要管理员登录才能够访问