2026年11月1日 · 今日 0 帖 · 会员 6.1万 · 主题 17.4万
登录 · 注册 · 游客,欢迎随便逛逛
返回版块
1000
Lv9有为九子能等级图标
勋章勋章勋章勋章勋章
帖子
9.3万
回复
2,089
积分
60.3万
注册
2006-12-06
[怀旧国机]

PHPCMS V9 任意文件包含漏洞

[复制链接]
查看 164 回复 2
楼主 发表于 | 只看该作者
5 人收藏

简要描述:

某处考虑不严谨,有可能导致文件包含漏洞。

利用条件:register_global=ON

详细说明:

漏洞文件:/plugin.php

漏洞代码:22行

触发条件:register_global=ON

代码片段:15到22行

if(isset($$$$_GET[‘id‘])) {

if(!preg_match(“/^[a-z0-9_\-]+$$$$/i“,$$$$_GET[‘id‘])) showmessage((L(‘illegal_parameters‘)));

list($$$$identification, $$$$filename,$$$$action) = explode(‘-‘, $$$$_GET[‘id‘]);

$$$$filename = !empty($$$$filename) ? $$$$filename : $$$$identification;

$$$$action = !empty($$$$action) ? $$$$action : ‘init‘;

}

$$$$cache = getcache($$$$identification,‘plugins‘);

因为只有if(isset($$$$_GET[‘id‘]))的情况下,$$$$identification变量才会被初始化,

因此请求时,不提交$$$$_GET[‘id‘],直接identification=./xxxx/xxxx/xxx.php%00

同时利用长文件名截断或%00截断,可以完美利用此漏洞、

神马?还不完美?不能包含木马文件?

好吧,我们再看回以前的一个漏洞: WooYun: PHPCMS V9 getwebshell漏洞

无需任意权限,此修复后依旧可以直接上传图片,此文件包含漏洞加上老的文件上传漏洞,还有什么做不到的。

漏洞证明:

漏洞文件:/plugin.php

漏洞代码:22行

触发条件:register_global=ON

代码片段:15到22行

if(isset($$$$_GET[‘id‘])) {

if(!preg_match(“/^[a-z0-9_\-]+$$$$/i“,$$$$_GET[‘id‘])) showmessage((L(‘illegal_parameters‘)));

list($$$$identification, $$$$filename,$$$$action) = explode(‘-‘, $$$$_GET[‘id‘]);

$$$$filename = !empty($$$$filename) ? $$$$filename : $$$$identification;

$$$$action = !empty($$$$action) ? $$$$action : ‘init‘;

}

$$$$cache = getcache($$$$identification,‘plugins‘);

修复方案:

无

登录回复
112247
Lv7可吟七步诗等级图标等级图标等级图标等级图标
勋章勋章勋章勋章勋章勋章勋章勋章+2
帖子
1
回复
9,407
积分
9万
注册
2012-06-18
1 楼

111

136524
Lv9有为九子能等级图标等级图标等级图标等级图标
勋章勋章勋章勋章勋章勋章勋章勋章
帖子
0
回复
3,334
积分
59.4万
注册
2013-05-13
2 楼

呃呃呃

登录后可以回复这个帖子。旧账号可使用原密码登录。

登录 注册新号
← 返回版块