关于phpcms前台注入导致任意文件读取漏洞的修复问题
简介:
phpcms的/phpcms/modules/content/down.php 文件中,对输入参数 $_GET['a_k'] 未进行严格过滤,导致SQL注入的发生,黑客
可利用该漏洞读取任意文件。
…
阿里云服务器提示漏洞问题。
解决办法:
根据简介中的漏洞提示,找到对应文件down.php的对应位置(第18、89行 附近),添加或替换相应的代码。
补丁代码片段如下:
$a_k = safe_replace($a_k);
parse_str($a_k);
修改后的补丁代码片段截图如下:
第一处修改,第18行附近:
第二处修改,第89行附近:
注意:第一处和第二处的补丁代码内容一样。
第三处修改,第120行附近:
补丁代码片段如下:
$fileurl = str_replace(array('<','>'), '',$fileurl);
file_down($fileurl, $filename);
注意:经过实际测试,上述两行代码之间尽量不要有其他代码,以免被阿里云检测结果为修复无效。
修改后的补丁代码片段截图如下:
然后,将修改好的文件,上传到服务器对应文件位置,直接覆盖;
最后,登录阿里云后台,点击验证(截图如下),即可完成漏洞修复。