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

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

缺陷编号:wooyun-2015-0116212

漏洞标题:从12308某敏感文件泄露到实现任意金额购买车票

相关厂商:深圳市一二三零八网络科技有限公司

漏洞作者: 路人甲

提交时间:2015-05-26 10:23

修复时间:2015-05-31 10:24

公开时间:2015-05-31 10:24

漏洞类型:重要敏感信息泄露

危害等级:高

自评Rank:20

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

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

Tags标签:

4人收藏 收藏
分享漏洞:


漏洞详情

披露状态:

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

简要描述:

深夜刷洞,大牛们不要吐槽小白啊,首先是防止被水表,所以不证明,只分析,其次,小白能力不行,不能在短时间之内利用(仅分析,待会删除所有本地数据,勿水表谢谢)

详细说明:

首先,这里泄露了十分敏感的代码!

http://m.12308.com/m.zip


当然,如果我就这么一提交,估计马上就被忽略了或者根本审核不过
那么还是看看里面有啥吧,首先最敏感的是这两个文件夹

QQ图片20150526005128.png


打开一看,吓尿

QQ图片20150526005219.png


QQ图片20150526005232.png


后来看了看,微信支付文件比较少,特别容易理解,但是是触发的本地app的事件,不好利用,只有转向支付宝,其中"AlipayConfig.class"最重要,里面包含了partner,key等敏感文件(微信里面也有这个类似的config文件)

QQ图片20150526010244.png


看了看支付宝的解释

https://cshall.alipay.com/lab/help_detail.htm?help_id=251039


看起来这是个不应该泄露的文件
于是,看看能不能深入,后来发现,确实可以深入
http://m.12308.com可以电脑上访问,和手机上效果一样,注册个号,下个单,抓包,发现比较重要的是这样几个参数:

orderId=14****
sign=90795f1ae76139697***********
req_data=<auth_and_execute_req><request_token>2015052546a3e*******************</request_token></auth_and_execute_req>
partner=2088**********


主要就是sign和token,那么问题就解决了,而且,既然在手机上是这样的认证,在主站上也应该是同样的认证。

漏洞证明:

以下函数或语句定义了sign(已混合)

sign:
public static String buildRequestMysign(Map sPara)
{
String prestr = AlipayCore.createLinkString(sPara);
String mysign = "";
if(AlipayConfig.sign_type.equals("MD5"))
mysign = MD5.sign(prestr, AlipayConfig.key, AlipayConfig.input_charset);
return mysign;
}
Map sPara = AlipayCore.paraFilter(sParaTemp);
String mysign = buildRequestMysign(sPara);
sPara.put("sign", mysign);


以下函数或语句定义了token(已混合)

token:	
public static String getRequestToken(OrderInfo order)
throws Exception
{
String sHtmlTextToken = AlipaySubmit.buildRequest(AlipayConfig.ALIPAY_GATEWAY_NEW, "", "", getParaTempToken(getReqDataToken(order), order.getOrderId()));
sHtmlTextToken = URLDecoder.decode(sHtmlTextToken, AlipayConfig.input_charset);
String request_token = AlipaySubmit.getRequestToken(sHtmlTextToken);
return request_token;
}


应该已经完全证明了能够被任意金额买车票吧。
文件已删,请勿水表,俺是好人,只求rank,谢谢。

修复方案:

删掉

版权声明:转载请注明来源 路人甲@乌云


漏洞回应

厂商回应:

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

忽略时间:2015-05-31 10:24

厂商回复:

漏洞Rank:4 (WooYun评价)

最新状态:

暂无