微擎二次注入漏洞 web/source/mc/fangroup.ctrl.php

2019-03-05 小惟 13

微赞微擎二次注入漏洞fangroup.ctrl.php,sql语句查询前未作处理为sql注入漏洞的根源,同时多个sql语句拼接执行,使攻击者可以注入更长的代码。最后查询的变量用户可以控制,所以最终该漏洞可以实施攻击。

文件所在位置:web/source/mc/fangroup.ctrl.php


打开文件:web/source/mc/fangroup.ctrl.php

搜索查找如下代码:(搜索本小段,因为搜索太长搜索不到。)

$sql .= 'UPDATE ' . 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'])); }




保存,提交检测验证。