在一定的情况下可以破坏SQL逻辑。

这个有点不靠,不靠谱的前提:

1,http://drops.wooyun.org/papers/1404

2,arp

3,有其他方法获取siteuniqueid,按照安装的算法来暴力破解或其他

在dx/api/google/google.php内on_gtt函数内有一段代码:

$posts = getgpc('post') ? explode(',', getgpc('post')) : array();
 

if($posts) {
$posts[0] = intval($posts[0]);
$posts[1] = intval($posts[1]);
$posts = implode(',', $posts);
}

这里$posts里的key 0 和key 1虽然都intval了,但是它还可以有key 3 key 4 key 5的,结果这个字符串被implode了。

这个$posts最后进入到了SQL查询里

 

if($posts) {
$pquery = DB::query("SELECT tid, pid, authorid, message FROM ".DB::table($tablename)." WHERE tid IN (".dimplode($tids).") AND first=0 LIMIT $posts", 'SILENT');

 

修复方案:

 

if($posts) {
$_posts    = array();
$_posts[0] = intval($posts[0]);
$_posts[1] = intval($posts[1]);
$posts = implode(',', $_posts);
}

 

    上一篇: FengCMS绕过补丁依旧任意文件下载 - 网站安全 - 自

    下一篇: 记一次被劫持挂马经历:Elasticsearch的远程执行漏
本博客所有文章如无特别注明均为原创。
复制或转载请以超链接形式注明转自起风了,原文地址《Discuz x!一个鸡肋SQL漏洞及修复方案 – 网站安全
   

还没有人抢沙发呢~