微擎二次注入漏洞涉及文件web/source/mc/fangroup.ctrl.php
微擎二次注入漏洞,sql语句查询前未作处理为sql注入漏洞的根源,同时多个sql语句拼接执行,使攻击者可以注入更长的代码。最后查询的变量用户可以控制,所以最终该漏洞可以实施攻击。
涉及文件
web/source/mc/fangroup.ctrl.php
修复方案
打开文件:
web/source/mc/fangroup.ctrl.php
搜索查找如下代码:
tablename('mc_mapping_fans')
找到完整代码:
$sql .= 'UPDATE ' . tablename('mc_mapping_fans') . " SET `groupid`='" . $tagids . "' WHERE `fanid`={$fans['fanid']};"; pdo_query($sql);
将上段完整代码替换成以下代码:
$sql = 'UPDATE ' . tablename('mc_mapping_fans') . " SET `groupid`= :tagids WHERE `fanid`=:fanid;"; pdo_query($sql, array(":tagids" => $tagids, ":fanid" => $fans['fanid']) );
保存,提交检测验证。