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

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

缺陷编号:wooyun-2015-090857

漏洞标题:华为某设备设计缺陷可能导致文件数据被窃取

相关厂商:华为技术有限公司

漏洞作者: 深度安全实验室

提交时间:2015-01-12 13:56

修复时间:2015-02-26 13:58

公开时间:2015-02-26 13:58

漏洞类型:设计缺陷/逻辑错误

危害等级:中

自评Rank:10

漏洞状态:厂商已经确认

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

Tags标签:

4人收藏 收藏
分享漏洞:


漏洞详情

披露状态:

2015-01-12: 细节已通知厂商并且等待厂商处理中
2015-01-14: 厂商已经确认,细节仅向厂商公开
2015-01-24: 细节向核心白帽子及相关领域专家公开
2015-02-03: 细节向普通白帽子公开
2015-02-13: 细节向实习白帽子公开
2015-02-26: 细节向公众公开

简要描述:

详细说明:

关于此漏洞,相对其他web漏洞来说可能看起来危害不大,但是我觉得对于要求较高的无线路由器来讲,这对用户来说确实是算是安全性问题的。由于这个漏洞是CSRF token相关的,所以我文字说明原理为主。黑盒测试,耗费了快一天的时间来尝试,今天游戏都没来得及打。

漏洞证明:

1.华为TD-LTE无线路由器,型号B593s-850,花500大洋买的,高大上的产品,支持插上U盘进行FTP共享等功能,覆盖距离可达250米,真远。

1.JPG


主要存在的问题:它在设计上存在一个csrf token窃取问题,通过

http://192.168.1.1/api/webserver/token

可以在特定的情况下获取到你想要的管理员的token,建议增强随机token。(后面详细讲述)。还有就是关于CSRF利用的问题,首先,我尝试了referer校验,该设备没有采取referer校验(华为的安全性做得好,有了token也得试试referer)。其次,我分析了除了token之外的其他所有参数,没有除了token之外的用于校验CSRF的随机数,这里我就不截图证明了。
危害:如果设备开启了FTP共享功能,很多人接入到该无线路由器,(a)如果某些人不知道共享密码,他可以去窃取本设备的CSRF token,来构造添加FTP账户来进行登陆(设备支持配置n多账户登陆)。(b)亦或者管理员只开启了存储设备的某一部分文件的共享(支持部分共享),我们可以通过CSRF来使设备开启全设备的共享,从而查看共享设备的全部内容。

2.jpg


FTP共享登陆

3.jpg


FTP账户管理
2.CSRF随机token的获取:
任何接入该无线路由设备的用户,只需要在浏览器中输入

http://192.168.1.1/api/webserver/token

就可以获取到你自己的token

6.jpg


我最初的尝试是发现只要路由器不断电重启,无论怎么退出和登陆WebUI,随机token都不变,我以为这路由器的token是和设备绑定在一起的呢,但是为了严谨,我把室友的电脑也拿来访问http://192.168.1.1/api/webserver/token,发现token不一样,我去,那就不是和设备绑定在一起的。
分析了半天之后,发现token是基于你当前电脑所分配到的ip地址的,如果你把当前的ip地址改为知道WebUI登陆密码的管理员的ip地址(ip地址很好猜,就那么几个,一般是挨着的,可以一个一个的试),就可以获取到管理员的随机token,本质来说这种设计和老早前的很多路由器厂商的那种基于ip地址来判断用户登陆是一样的问题,具体可以参考杨哲的《无线网络安全攻防实战进阶》。
3.问题就是这样的,简单来说就是token可以被窃取(窃取的时候只要时间够短,不会因为ip地址冲突而把管理员挤掉线的),从而发动CSRF攻击。如果有分析错误的地方,请指正。

修复方案:

版权声明:转载请注明来源 深度安全实验室@乌云


漏洞回应

厂商回应:

危害等级:中

漏洞Rank:7

确认时间:2015-01-14 12:06

厂商回复:

感谢白帽子对华为公司的关注,我们已通知业务部门对其整改。

最新状态:

暂无


漏洞评价:

评论

  1. 2015-01-12 14:17 | 深度安全实验室 ( 核心白帽子 | Rank:1936 漏洞数:315 )

    @华为技术有限公司 ,关于此漏洞补充一点,该问题的根本原因就是 用户在未登录WebUI的情况下可以通过http://192.168.1.1/api/webserver/token获取到token,虽然此时获取到的是自己的token,但是可以修改本地ip为其它的,你就可以获取到你想要获取到的人的CSRF token,所以修复办法是屏蔽csrf token的在未登录情况下的直接获取,需要用户在登陆后才能获取到自己的token,这样就没法完成token的窃取。