漏洞概要 关注数(24) 关注此漏洞
缺陷编号:wooyun-2016-0169638
漏洞标题:从一个Rsync匿名访问到各种资源泄漏
相关厂商:酒仙网
漏洞作者: Tea
提交时间:2016-01-13 17:05
修复时间:2016-02-25 18:03
公开时间:2016-02-25 18:03
漏洞类型:未授权访问/权限绕过
危害等级:高
自评Rank:20
漏洞状态:厂商已经修复
漏洞来源: http://www.wooyun.org,如有疑问或需要帮助请联系 [email protected]
Tags标签: 无
漏洞详情
披露状态:
2016-01-13: 细节已通知厂商并且等待厂商处理中
2016-01-14: 厂商已经确认,细节仅向厂商公开
2016-01-24: 细节向核心白帽子及相关领域专家公开
2016-02-03: 细节向普通白帽子公开
2016-02-13: 细节向实习白帽子公开
2016-02-25: 厂商已经修复漏洞并主动公开,细节向公众公开
简要描述:
快过年了,打发点RANK吧。。。
详细说明:
一日无聊发现一个IP(106.39.37.169)存在RSYNC匿名访问服务,遂发现存在一个WAR文件,下载下来发现为酒仙网的服务源码。
其中翻到了许多接口文件,许多密码(虽然不少已经过期)。
从其中翻到的一个接口KEY,可以查询到网站的订单信息。
下来一一道来。
因为对JAVA不熟悉,都是带有猜想。
从各种配置文件中找出来了一些配置文件。都没发现有挺大的用处。
翻看源码的时候发现了一个WEB代理。
代码如下:
访问的地址把我们限制住了:
但是也不妨碍我们访问外网用户访问不到的资源。
利用方式:
http://106.39.37.169:8010/mobileservices/httpProxyAccess.htm?target=http://xxxxx/
我们试试访问一下乌云漏洞库里面酒仙网的漏洞(内网才能访问的地址)
参考下: WooYun: 酒仙网接口敏感信息泄露
我们访问下(这个内网才可以访问):
能访问到了,但是有乱码?
没事,我们转换转换:
Python脚本如下:
正常显示:
如果要访问到其他的连接再GET过去就OK了。
其他的内部访问地址(这些域名扫描工具都可以扫描出来):
http://pt.jxwmanage.com/
还有其他的内部系统就不一一列举了。
此处的问题就是想提下,代理任何人知道地址都能访问到。
当看见一个API地址的时候,发现存在一个securityKey=。
就跟踪看了下功能:
接口地址:
跟踪看了下:
两个Controller.
一个是订单有关系的,一个是地址有关系的,我们找出了两个方法:
还有个:
都是调用API使用的功能。
我们这里只测试下第一个方法(调用的API)
看下源码:
这里给出主要的源码,详细的就不给出来了:
Python实现代码:
我们从乌云里面找一些泄漏的订单号测试下:
比如:
https://w.hundan.org/articles/attach/201505/05184644892cea7eceeffa34c120293c9d066bf0.png
订单号:18150320092518442132
我们再来查询下这个订单:
再测试点其他的订单:
https://w.hundan.org/articles/attach/201506/222250396d63d3873e8502d5714adf376103ec2f.jpg
结果:
现在我们应该可以获取所有的订单的物流号之类的信息了。
看起来像编辑用户地址信息的方法我们这里就不测试了。
因为就找到这两个方法,接口应该会有很多种不同功能的方法。
要么就是去找源码,要么就靠有规律的去猜测了。自己猜测了半天没有猜测到一个新的方法出来,就此作罢。
因为方法不存在跟存在的方法报错的信息是有区别的。
此处测试,就此结束吧。
未做任何破坏。
漏洞证明:
Rsync主机信息:
下载的war文件解压:
对应的提供服务地址:
http://106.39.37.169:8010/mobileservices/
翻出来的各种信息:
没有在这些文件里面找到数据库的连接信息。
修复方案:
RSYNC的匿名访问导致了源码可下载,然后获取源码发现其中的功能跟API的KEY泄漏。
我知道了的信息都改一遍吧。这样最好。
版权声明:转载请注明来源 Tea@乌云
漏洞回应
厂商回应:
危害等级:高
漏洞Rank:10
确认时间:2016-01-14 10:29
厂商回复:
感谢发现漏洞,尽快整改
最新状态:
2016-02-25:漏洞已修复,感谢!