当前位置: 首页 > 网站技术 > 正文

phpcms 的/phpcms/modules/content/down.php文件中,对输入参数$_GET[‘a_k’]未进行严格过滤,导致SQL注入的发 生,黑客可利用该漏洞读取任意文件。【注意:该补丁为云盾自研代码修复方案,云盾会根据您当前代码是否符合云盾自研的修复模式进行检测,如果您自行采取了 底层/框架统一修复、或者使用了其他的修复方案,可能会导致您虽然已经修复了改漏洞,云盾依然报告存在漏洞,遇到该情况可选择忽略该漏洞提示】

解决方法:

首先找到这个文件/phpcms/modules/content/down.php

修复处有3处。

1、搜索如下代码(17行):

parse_str($a_k);
T1

将17行替换为如下代码:

$a_k = safe_replace($a_k); parse_str($a_k);
T2

2、搜索如下代码(89行):

parse_str($a_k)

如下图:

PHPCMS前台注入导致任意文件读取漏洞修复方案

零度工作室

将89行替换为如下代码:

$a_k = safe_replace($a_k); parse_str($a_k);

修改后如下图:

PHPCMS前台注入导致任意文件读取漏洞修复方案

零度工作室

3、搜索如下代码(120行):

file_down($fileurl, $filename);

PHPCMS前台注入导致任意文件读取漏洞修复方案

PHPCMS前台注入导致任意文件读取漏洞修复方案

将120行替换为如下代码:

$fileurl = str_replace(array(‘<‘,’>’), ”,$fileurl); file_down($fileurl, $filename);

修改后如下图:

PHPCMS前台注入导致任意文件读取漏洞修复方案

零度工作室

修改完后保存上传更新,然后在阿里云点击修复即可。

报歉!评论已关闭.