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

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

缺陷编号:wooyun-2014-053099

漏洞标题:siteserver3.6.4一行代码击垮所有安全防护

相关厂商:百容千域软件技术开发有限责任公司

漏洞作者: study_vul

提交时间:2014-03-08 12:47

修复时间:2014-06-03 12:48

公开时间:2014-06-03 12:48

漏洞类型:非授权访问/权限绕过

危害等级:高

自评Rank:20

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

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

Tags标签:

4人收藏 收藏
分享漏洞:


漏洞详情

披露状态:

2014-03-08: 细节已通知厂商并且等待厂商处理中
2014-03-11: 厂商主动忽略漏洞,细节向第三方安全合作伙伴开放
2014-05-05: 细节向核心白帽子及相关领域专家公开
2014-05-15: 细节向普通白帽子公开
2014-05-25: 细节向实习白帽子公开
2014-06-03: 细节向公众公开

简要描述:

最近看到小伙伴们都提交siteserver漏洞,因此也简单看一下,没有想到看到一行很有意思的代码,也不知道是不是我看错了,提交上来确认一下,如果是误报,就忽略吧。
如果确实有问题,请赏赐邀请码一枚,感激不尽

详细说明:

一直认为,整个安全体系最关键是权限,因此拿到siteserver后,第一个点就是看它权限设置...
siteserver后台页面是需要登录,否则直接跳转到登录页面,因此我对一个有保护的后台页面进行分析,看它的验证过程。
比如/siteserver/platform/background_dbSqlQuery.aspx页面:
对应源代码
BaiRong.BackgroundPages.dll的
BaiRong.BackgroundPages.BackgroundDBSqlQuery类,Page_load具体源代码如下

1.jpg


对代码分析可以看到有一个BreadCrumb函数,对其分析发现是权限检查函数。而使用base表示父类的BreadCrumb。看到BackgroundDBSqlQuery类的集成关系,可以看出父类是BackgroundBasePage

2.jpg


查看父类BackgroundBasePage代码:

3.jpg


调用代码在 AdminManager.VerifyPermissions(permissionArray);中。进行进入该函数进行分析:源码如下

4.jpg


对权限进行检查,如果失败,就会调用AdminManager.LogoutAndRedirect()函数,执行退出操作。
其实可以看出AdminManager.LogoutAndRedirect()函数,是分析的重点,问题在这里

5.jpg


获得注销url路径,然后注销用户,调用PageUtils.Redirect进行url跳转(ParseNavigationUrl函数是获取跳转的完整路径)
Redirect函数源代码如下:

6.jpg


其实这个问题,我觉得最关键的就是这行代码。查询asp.net帮助信息,可以找到Redirect的原型:

7.jpg


第一个参数表示目标位置,而第二个参数,从官方文档可以看出,是表示是否终止当前页面的响应,默认是true。而程序员”画蛇添足”(可能有自身需求吧,或者其他地方可能需要这么写,未知)将第二个参数设置为false,导致页面跳转后,没有停止页面响应。
这样即使请求页面,没有访问权限,但是该页面也可以正常响应,这样一行代码,导致该系统所有权限防护彻底崩溃。权限是系统安全的基石,倒塌之后相当于没有权限。后台”任意“(没有所有功能都测试,至少执行sql查询、修改管理员密码等等)功能如入无人之境...

漏洞证明:

使用后台的sql查询功能进行证明,官网路径
http://2012.moban.siteserver.cn//siteserver/platform/background_dbSqlQuery.aspx
直接访问会跳转到登录界面,这个过程不截图了,大家自己测试好了。
使用burp 对数据包进行过滤:
发送请求:

8.jpg


在此抓取到返回结果:

9.jpg


正如上面代码分析的那样,代码检测到没有权限发送了跳转,但是从返回内容可以看出不单单是跳转还有很多内容,因此将302 改成200 去掉跳转代码看看,修改如下所示:

10.jpg


注:返回页面最后一段js也去掉,否则还可能发送其他数据包,出去比较麻烦
这样修改后,出现了sql执行界面:

11.jpg


输入一条sql查询,获得管理员信息的,如下所示:

12.jpg


抓取返回数据包:

13.jpg


按如上方法进行修改,截图略,修改后,在浏览器上显示内容:

14.jpg


注:虽然这个功能写着只能执行select语句,但是可以select ....;其他语句 这个不是本文重点略
拿shell的 什么就不说了 早有前辈总结后台拿shell方法,利用这个漏洞,后台变前台 整个系统完全沦陷...

修复方案:

个人感觉,这个说到底,是因为在跳转后,没有停止页面响应,直接去掉 redirect的第二个参数false即可。
做好权限控制,可以将其他漏洞危害,将低...

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


漏洞回应

厂商回应:

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

忽略时间:2014-06-03 12:48

厂商回复:

漏洞Rank:20 (WooYun评价)

最新状态:

暂无


漏洞评价:

评论

  1. 2014-03-08 12:48 | xsser 认证白帽子 ( 普通白帽子 | Rank:254 漏洞数:18 | 当我又回首一切,这个世界会好吗?)

  2. 2014-03-08 13:23 | Ebon_Wolf ( 实习白帽子 | Rank:48 漏洞数:24 | 您好,我似咣咚朲,需要服务吗?专业酱油工...)

    17个漏洞 rank249 ?@xsser

  3. 2014-03-08 13:51 | wefgod ( 普通白帽子 | Rank:1807 漏洞数:179 | 力不从心)

    我去?给力

  4. 2014-03-08 13:52 | wefgod ( 普通白帽子 | Rank:1807 漏洞数:179 | 力不从心)

    官方都等到现在了,还不更新下一版。感觉都没兴趣修复漏洞了吗

  5. 2014-03-08 20:18 | 冷静 ( 路人 | Rank:3 漏洞数:2 )

    @wefgod 你很有批判精神

  6. 2014-03-09 00:01 | wefgod ( 普通白帽子 | Rank:1807 漏洞数:179 | 力不从心)

    @冷静 我在他们好多个漏洞提到了…

  7. 2014-03-16 06:49 | Vty ( 普通白帽子 | Rank:199 漏洞数:37 )

    看起来很吊的样子

  8. 2014-03-18 13:02 | ′ 雨。 ( 普通白帽子 | Rank:1231 漏洞数:190 | Only Code Never Lie To Me.)

    赞啊,

  9. 2014-03-18 13:02 | possible ( 普通白帽子 | Rank:373 漏洞数:32 | everything is possible!)

    官方密码都没有加密?

  10. 2014-03-18 13:03 | wefgod ( 普通白帽子 | Rank:1807 漏洞数:179 | 力不从心)

    哦。这种吗,在做OATOS企业网盘我就有用过类似的方法。其实就是越权,但是他代码没有return罢了,没有那么高级。简单说应该是比较低级的错误…………

  11. 2014-03-18 13:18 | Vty ( 普通白帽子 | Rank:199 漏洞数:37 )

    这么牛逼的漏洞都忽略,还要不要脸了!

  12. 2014-03-18 14:02 | Haswell ( 普通白帽子 | Rank:167 漏洞数:18 | HorizonSec @ RDFZ)

    屌!不知道厂商是不是弃了

  13. 2014-03-18 14:28 | what_news ( 普通白帽子 | Rank:195 漏洞数:48 | 小菜一个 希望成为大菜)

    牛 赞一个

  14. 2014-03-18 15:08 | 郭斯特 ( 普通白帽子 | Rank:181 漏洞数:69 | GhostWin)

    睡一个觉起来就被封杀了??!

  15. 2014-03-18 16:09 | Vty ( 普通白帽子 | Rank:199 漏洞数:37 )

    我擦,是不是狗哥点错了啊,居然向公众公开了!

  16. 2014-03-21 09:58 | wangy3e ( 路人 | Rank:0 漏洞数:1 | web security,mobile app security)

    被杀了,公开算了

  17. 2014-03-21 10:00 | wefgod ( 普通白帽子 | Rank:1807 漏洞数:179 | 力不从心)

    没有return而已……

  18. 2014-05-31 14:23 | 一只寂寞的小鸟 ( 路人 | Rank:3 漏洞数:3 | ส็็็็็็็็็็็็็็็็็็็...)

    擦 测试没有抓到302 直接返回 loginout.aspx 我勒个擦擦擦擦

  19. 2014-06-03 14:23 | f4ckbaidu ( 普通白帽子 | Rank:182 漏洞数:23 | 开发真是日了狗了)

    siteserver被日穿了。。

  20. 2014-06-03 15:27 | 博丽灵梦 ( 路人 | Rank:13 漏洞数:7 | = =cf)

    简直不能再帅。。。。

  21. 2014-06-03 18:38 | 风的传奇 ( 路人 | Rank:1 漏洞数:2 | 没有什么了不起,混迹于茫茫网络而已。)

    忽略吧

  22. 2014-06-04 08:58 | 小豹 ( 实习白帽子 | Rank:33 漏洞数:8 | 一个人的寂寞,整个群的错234236)

    咋抓取那个返回302的那个结果呢?求指教

  23. 2014-06-04 11:41 | study_vul ( 实习白帽子 | Rank:62 漏洞数:9 | 我有乌云id了,我马上就要牛叉起来了)

    @小豹 burp 可能版本问题 @一只寂寞的小鸟 可能版本问题

  24. 2014-06-04 11:42 | study_vul ( 实习白帽子 | Rank:62 漏洞数:9 | 我有乌云id了,我马上就要牛叉起来了)

    咋没有人给我好评呢 这个应该加雷 嘿嘿 @疯狗

  25. 2014-06-04 13:05 | 小豹 ( 实习白帽子 | Rank:33 漏洞数:8 | 一个人的寂寞,整个群的错234236)

    @study_vul 哦哦

  26. 2014-06-05 11:15 | 炊烟 ( 普通白帽子 | Rank:238 漏洞数:44 | 每一天都需要努力。)

    学了多久了。。

  27. 2014-06-07 14:47 | 红领巾 ( 路人 | Rank:22 漏洞数:4 | 有些漏洞,如果只是从技术层面来说明问题,...)

    @study_vul 求版本

  28. 2014-08-31 21:02 | Vigoss_Z ( 普通白帽子 | Rank:404 漏洞数:63 | 楞娃)

    牛!已收藏。