漏洞概要 关注数(24) 关注此漏洞
缺陷编号:wooyun-2014-061490
漏洞标题:从一个小缺陷看某金融支付机构存在的安全隐患
相关厂商:cncert国家互联网应急中心
漏洞作者: 梧桐雨
提交时间:2014-05-19 20:21
修复时间:2014-07-03 20:21
公开时间:2014-07-03 20:21
漏洞类型:任意文件遍历/下载
危害等级:高
自评Rank:15
漏洞状态:已交由第三方合作机构(cncert国家互联网应急中心)处理
漏洞来源: http://www.wooyun.org,如有疑问或需要帮助请联系 [email protected]
Tags标签: 无
漏洞详情
披露状态:
2014-05-19: 细节已通知厂商并且等待厂商处理中
2014-05-24: 厂商已经确认,细节仅向厂商公开
2014-06-03: 细节向核心白帽子及相关领域专家公开
2014-06-13: 细节向普通白帽子公开
2014-06-23: 细节向实习白帽子公开
2014-07-03: 细节向公众公开
简要描述:
应该这个是第一个这样的例子
详细说明:
不知道有木有精华=。=
先来看看存在漏洞的站点:
cert.unionpay.com
嗯,就是中国银联认证管理系统了。
通过对他的探测以及扫描,发现存在任意文件读取漏洞:
http://cert.unionpay.com/company/en/register?lang=../../../../WEB-INF/web.xml
但是直接访问却是报错的:
在尝试很多截断无果,想放弃的时候,无意之中在url加了一个?。结果你猜?
截断了,并且读取到了web.xml!
如果到这一步,很可能就是一个简单的任意文件读取了,按狗哥的话来说,甚至连首页都上不了,影响不了用户和数据。
那么怎么办呢?对于我这种只搞php的。。java又不太熟悉,但是我们还是可以通过现有的材料对源码进行分析的。
通过对web.xml的观察,发现存在spring-mvc.xml
简单判断,应该是用spring开发的(非struts2)。
那么怎么办呢?印象之中可以遍历一下目录:
项目工程大概是这样:
-WEB-INF
-WEB-INF/spring-mvc.xml
很完美,的确是一个spring。但是到目前为止,依然离我们的标题(危害较大)非常遥远。
那么下一步我们就需要从目前现有的泄漏信息提取更加有用的东西:
忽然我把目光停留在这:
需要说的是classpath是可访问的,因为这里存在文件读取,因此是可以读取classes目录下的内容。
因此猜测:WEB-INF/classes/applicationContext.xml
我们访问下:
激动么!激动么,居然存在。
以此类推,猜测到下面了这些文件:
http://cert.unionpay.com/company/en/register?lang=../../../../WEB-INF/classes/data/import-data.sql?
http://cert.unionpay.com/company/en/register?lang=../../../../WEB-INF/classes/sql/h2/schema.sql?
从时间上来看,是2012年的,因此推断应该是demo文件。
略过,我们继续深入。找到了数据库链接配置:
http://cert.unionpay.com/company/en/register?lang=../../../../WEB-INF/classes/application.properties?
大部分都是内网的,没办法访问。
漏洞证明:
接下来就是重头戏了
通过对web.xml的观察,还找到一处:
来看看:applicationContext-importer.xml
其中有一处email吸引了我的注意力,访问下这个文件看看,结果让我惊呆了。
得到邮件账户,密码,剩下就是....遍历域名地址,找到邮件尝试能否登录。
答案是肯定的!杀进了银联的邮件系统:
通过对一些邮件判断,甚至还有一些内网的敏感信息:
内部信息历历在目啊:
可以肯定的是,这个邮箱拿来做社工肯定是木有问题的了。
考虑到危害,就没有继续下去了。到此为止了。
修复方案:
修补lang参数引起的任意文件读取。
版权声明:转载请注明来源 梧桐雨@乌云
漏洞回应
厂商回应:
危害等级:高
漏洞Rank:13
确认时间:2014-05-24 12:57
厂商回复:
CNVD确认并复现所述情况,已经转由CNCERT直接通报给网站管理单位,网站管理单位接到通报后已经及时进行修复。
最新状态:
暂无