Discuz! 4.x wap/index.php 变量覆盖漏洞 's

admin 2017年4月30日07:06:23评论408 views字数 722阅读2分24秒阅读模式
摘要

由于Discuz!的wap/index.php处理post的变量不严谨而导致变量覆盖,从而可能导致sql注射/代码执行/xss等攻击.
author: 80vul-B
team:http://www.80vul.com

由于Discuz!的wap/index.php处理post的变量不严谨而导致变量覆盖,从而可能导致sql注射/代码执行/xss等攻击.
author: 80vul-B
team:http://www.80vul.com

一 分析

Discuz!4.x一直存在着一个变量覆盖漏洞n年了.代码如下:

$chs = ''; if($_POST && $charset != 'utf-8') { $chs = new Chinese('UTF-8', $charset); foreach($_POST as $key => $value) { $$key = $chs->Convert($value); //foreach处理$_POST导致变量覆盖 } unset($chs);


在此代码前还包含了很多变量初始化的文件,那些初始化了的变量[比如forumdata/cache/cache_forums.php里的变量]通过上面的代码后都可能被覆盖后注射非法代码,而导致sql注射/代码执行/xss等严重的漏洞.

二 利用

poc: 暂缺

三 补丁[fix]

该漏洞存在于Discuz!4.x很多年了,在fix号:20080804里[1]补丁那个wap宽字节漏洞时被一起偷偷补丁了,补丁代码:

$chs = ''; if($_POST && $charset != 'utf-8') { $chs = new Chinese('UTF-8', $charset); foreach($_POST as $key => $value) { $$key = addslashes(stripslashes($chs->Convert($$key))); } unset($chs); }

[1]http://www.discuz.net/thread-1008182-1-1.html

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2017年4月30日07:06:23
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   Discuz! 4.x wap/index.php 变量覆盖漏洞 'shttps://cn-sec.com/archives/45763.html

发表评论

匿名网友 填写信息