当前位置:WooYun >> 漏洞信息

漏洞概要 关注数(24) 关注此漏洞

缺陷编号:wooyun-2012-06799

漏洞标题:Discuz NT多个版本文件上传漏洞

相关厂商:Discuz!

漏洞作者: I_S_T_O

提交时间:2012-05-08 00:20

修复时间:2012-05-13 00:20

公开时间:2012-05-13 00:20

漏洞类型:文件上传导致任意代码执行

危害等级:高

自评Rank:10

漏洞状态:漏洞已经通知厂商但是厂商忽略漏洞

漏洞来源: http://www.wooyun.org,如有疑问或需要帮助请联系 [email protected]

Tags标签:

4人收藏 收藏
分享漏洞:


漏洞详情

披露状态:

2012-05-08: 细节已通知厂商并且等待厂商处理中
2012-05-13: 厂商已经主动忽略漏洞,细节向公众公开

简要描述:

Discuz NT多个版本文件上传漏洞
文章作者:rebeyond
注:文章首发I.S.T.O信息安全团队,后由原创作者友情提交到乌云-漏洞报告平台。I.S.T.O版权所有,转载需注明作者。

详细说明:

漏洞文件:tools/ajax.aspx

漏洞分析:这个页面里的ajax请求,都没有进行权限的验证,游客权限就可以调用其中的所有方法,很危险的写法,于是有了下面的漏洞。


当filename和upload两个参数同时不为空时,取得input的值,并解密生成uid,然后调用UploadTempAvatar(uid)上传头像,继续跟进方法UploadTempAvatar:


在方法内部对上传文件的文件名进行字符串组装,其中uid是我们可以控制的,所以可以通过让uid取值为”test.asp;”,组装后的文件名是avatar_test.asp;.jpg,这样上传后的文件IIS6便会直接执行,得到webshell。

漏洞证明:

实例演示:
1. 目标站:http://www.xxxxer.net
2. 伪造reference,因为ajax这个页面只对reference进行了验证。
3. 构造input参数的值,因为我们的目标是为uid赋值”test.asp;”,uid为input解密而来,通过默认Passwordkey(位于/config/general.config中),对”test;.asp”加密得到input的值”Jw6IIaYanY7W0695pYVdOA==”。
4. 构造请求参数:


上传成功后会直接把shell地址回显出来,


成功获得webshell:


不过在实际测试中,有部分不能成功,懒得找原因了,有兴趣的同学继续研究一下吧^.^,截个官网的截图留个念:

修复方案:

您懂的,by I_S_T_O rebeyond

版权声明:转载请注明来源 I_S_T_O@乌云


漏洞回应

厂商回应:

危害等级:无影响厂商忽略

忽略时间:2012-05-13 00:20

厂商回复:

最新状态:

暂无