Discuz!7.2 faq.php文件SQL注入漏洞分析及利用实战

[antian365.com] simeon

   最近网上公开了Discuz!7.2版本faq.php文件SQL注入0day,通过对文件漏洞分析以及实战测试,效果不错,公开利用exp的利用需要对SQL语句以及数据库等相当了解,在某些情况下需要多种技术配合才能最终攻克目标,下面就漏洞代码以及实战利用等进行探讨,对获取管理员密码的利用,uc_key获取webshell,插件导入获取Webshell等进行探讨。

1. faq.php文件SQL注入漏洞代码分析

本次存在漏洞的文件为faq.php,打开该文件后,从第148行开始,代码如下

} elseif($action == 'grouppermission') {

       require_once'./include/forum.func.php';

       require_oncelanguage('misc');

       $permlang =$language;

       unset($language);

       $searchgroupid =isset($searchgroupid) ? intval($searchgroupid) : $groupid;

       $groups =$grouplist = array();

       $query =$db->query("SELECT groupid, type, grouptitle, radminid FROM{$tablepre}usergroups ORDER BY (creditshigher<>'0' ||creditslower<>'0'), creditslower");

       $cgdata =$nextgid = '';

       while($group =$db->fetch_array($query)) {

              $group['type']= $group['type'] == 'special' && $group['radminid'] ? 'specialadmin' :$group['type'];

              $groups[$group['type']][]= array($group['groupid'], $group['grouptitle']);

              $grouplist[$group['type']].= '