Discuz uc.key泄露导致代码注入漏
简介:在Discuz中,uc_key是UC客户端与服务端通信的通信密钥,discuz中的/api/uc.php存在代码写入漏洞,导致黑客可写入恶意代码获取uckey,最终进入网站后台,造成数据泄漏。您也可以登录官方网站更新到最新版本解决。
解决方案:
方案一:使用云盾自研补丁进行一键修复;
【注意:该补丁为云盾自研代码修复方案,云盾会根据您当前代码是否符合云盾自研的修复模式进行检测,如果您自行采取了底层/框架统一修复、或者使用了其他的修复方案,可能会导致您虽然已经修复了该漏洞,云盾依然报告存在漏洞,遇到该情况可选择忽略该漏洞提示】
方案二: DX3.1版本 打开/api/uc.php 找到第280行: - $UC_API = $post['UC_API'];
复制代码替换为 - $UC_API = str_replace(array('\'', '"', '\\', "\0", "\n", "\r"), '', $post['UC_API']);
- <img src="static/image/hrline/line5.png" border="0" alt="">
复制代码
找到第39行- require_once '../source/class/class_core.php';
复制代码
替换为 - require_once '../source/class/class_core.php'; if (method_exists("C", "app")) { $discuz = C::app(); $discuz->init(); }
复制代码
找到第274行- function updateapps($get, $post) {
复制代码
替换为 - function updateapps($get, $post) { if($post['UC_API']) { $post['UC_API'] = addslashes($post['UC_API']); }
-
复制代码
|