PHPCMS漏洞之前台注入导致任意文件读取

关于phpcms前台注入导致任意文件读取漏洞的修复问题

简介:
phpcms的/phpcms/modules/content/down.php 文件中,对输入参数 $_GET['a_k'] 未进行严格过滤,导致SQL注入的发生,黑客
可利用该漏洞读取任意文件。
…
阿里云服务器提示漏洞问题。

解决办法:

1、根据简介中的漏洞提示,找到对应文件down.php的对应位置(第18、89行 附近),添加或替换相应的代码。

补丁代码片段如下:

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

修改后的补丁代码片段截图如下:

第一处修改,第18行附近:

PHPCMS漏洞之前台注入导致任意文件读取

第二处修改,第89行附近:

PHPCMS漏洞之前台注入导致任意文件读取

注意:第一处和第二处的补丁代码内容一样。

第三处修改,第120行附近:

补丁代码片段如下:

$fileurl = str_replace(array('<','>'), '',$fileurl);
file_down($fileurl, $filename);

注意:经过实际测试,上述两行代码之间尽量不要有其他代码,以免被阿里云检测结果为修复无效。

修改后的补丁代码片段截图如下:

PHPCMS漏洞之前台注入导致任意文件读取

2、然后,将修改好的文件,上传到服务器对应文件位置,直接覆盖;

3、最后,登录阿里云后台,点击验证(截图如下),即可完成漏洞修复。

PHPCMS漏洞之前台注入导致任意文件读取

PHP中文网,大量的免费PHPCMS教程,欢迎在线学习!


PHPCMS漏洞之前台注入导致任意文件读取

发表回复