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

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

缺陷编号:wooyun-2015-099616

漏洞标题:中国联通某分站SQL注入+GETSHELL影响任意用户的wo+通行证/邮箱权限等

相关厂商:中国联通

漏洞作者: sex is not show

提交时间:2015-03-05 11:32

修复时间:2015-04-20 14:22

公开时间:2015-04-20 14:22

漏洞类型:SQL注射漏洞

危害等级:高

自评Rank:16

漏洞状态:已交由第三方合作机构(cncert国家互联网应急中心)处理

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

Tags标签:

4人收藏 收藏
分享漏洞:


漏洞详情

披露状态:

2015-03-05: 细节已通知厂商并且等待厂商处理中
2015-03-10: 厂商已经确认,细节仅向厂商公开
2015-03-20: 细节向核心白帽子及相关领域专家公开
2015-03-30: 细节向普通白帽子公开
2015-04-09: 细节向实习白帽子公开
2015-04-20: 细节向公众公开

简要描述:

RT

详细说明:

理论上可登录全国联通用户wo+/邮箱、管理给个雷吧~
看到<a href="http://www.wooyun.org/bugs/wooyun-2015-091829">WooYun-2015-91829</a>这个漏洞,心中甚是崇拜,小菜想捡漏,于是看看详情,就有了下文:
先从注入说起:
看原来的str2漏洞地址:http://cx.wap.unisk.cn/user/user/login.action,已经直接显示网页源码了,然后各处翻,终于找到了个注入
URL:http://m.unisk.cn/Count2.asp?id=1320356&speid=300
注入参数:speid
其他连接貌似有过滤,这个文件却没过滤,很是奇葩..

1.jpg


注入拿到了帐号密码:

1.jpg


这时想想,貌似还不知道后台,这...
第二天想看看分站有木有别的可利用的地方,无意间又碰到了后台,甚喜
http://123.125.97.162/admin/manage/
然后就去解密,结果md5一个都解不出来,肯定是加盐了..无望,突然发现很多密码的密文都一样,猜想肯定是弱口令,结果尝试成功.哈

1.jpg


得到的密码明文为:

mask 区域
*****a9b96549b0cdc95bd*****


登录进去,发现fck,又是iis6,直接getshell

1.jpg


shell在dlf\upload\37\image\a.asp\目录下、

1.jpg


数据库里号码、短信啥的还是蛮多了,数据库文件68.52 G

1.jpg


平时到这里基本就结束了,今天手贱,看了下开放的端口,发现个6060,就访问了下:
http://123.125.97.162:6060/jcard/demo.php?p=

1.jpg


wo+通行证,通行证一般都很强大.. 就去看源码到底干啥的:

1.jpg


仔细研究下,原来是通向http://i.wo.cn/ wo+通行证的通道,这就有意思了
sso.php

mask 区域
*****?p*****
*****"p*****
*****_decode*****
*****=$pho*****
**********
*****ot;,"****&quo*****
*****$co*****
*****
*****
*****nect: ' *****
*****
*****
**********
*****ot;jcard&q*****
*****ot;.$phone."' ORD*****
*****;<br/&*****
*****ql_quer*****
*****tch_array(*****
*****039;id&*****
*****
*****
*****e{*****
*****39;*****
*****
*****
*****se($c*****
**********
*****=$ui*****
*****["u*****
*****'&*****
*****pt' type='tex*****
1.://**.**.**//i.wo.cn&
*****/script&*****
*****
*****
**********
2.://**.**.**//123.125.97.162:6060/jcard/sso/referer.php&
*****='10*****
*****_set ('*****
*****('Ym*****
*****D52949A6A1*****
*****rmID.$key.*****
*****^_.$auth.'*****
*****r=SHA1(*****
*****_.$authenticator.*****
**********
*****-----------&l*****
*****;//初始^*****
*****e.'&'.$*****
*****^^.$input.&quot*****
*****->encry*****
*****^.$encrypt_card.&q*****
*****t;decrypt($rep-&*****
**********
**********
*****erID.'&lt*****
*****userID,$key).*****
*****encode($en*****
*****encryp*****
*****64加密_.$userInfo*****
*****nfo).'&lt*****
*****rypt($userInfo).*****
*****-----------&l*****
**********
3.://**.**.**//i.wo.cn/sso/otherLogin.dosourcePlatformID=&
*****;<br/&*****
*****pt' type='tex*****
*****n.href='*****
*****/script&*****
*****t;*****
*****php*****
**********
*****ypt3D*****
**********
**********
*****{*****
**********
**********
*****t;; //密钥 要与java的^*****
**********
**********
***** *****
**********
*****^据^*****
**********
**********
*****ncrypt($*****
**********
**********
***** *****
**********
**********
*****_size(MCRYPT_3DES*****
**********
**********
*****gt;pkcs5_pad(*****
**********
**********
*****is->key,24,*****
**********
**********
*****ES, '', *****
**********
**********
*****crypt_enc_get_iv_s*****
**********
**********
*****c_init($td, *****
**********
**********
*****pt_generic(*****
**********
**********
*****eneric_de*****
**********
**********
*****odule_clo*****
**********
**********
*****se64_encod*****
**********
**********
*****turn $*****
**********
**********
***** *****
**********
**********
*****^据^*****
**********
**********
*****rypt($enc*****
**********
**********
***** *****
**********
**********
*****ase64_decode*****
**********
**********
*****is->key,24,*****
**********
**********
*****3DES,'',*****
**********
**********
*****rypt_enc_get_iv_si*****
**********
**********
*****_enc_get_ke*****
**********
**********
*****c_init($td, *****
**********
**********
*****ypt_generic($t*****
**********
**********
*****eneric_de*****
**********
**********
*****odule_clo*****
**********
**********
*****kcs5_unpad($*****
**********
**********
*****retur*****
**********
**********
***** *****
**********
**********
***** *****
**********
**********
*****ad ($text, *****
**********
**********
***** *****
**********
**********
*****- (strlen($tex*****
**********
**********
*****tr_repeat(chr*****
**********
**********
***** *****
**********
**********
***** *****
**********
**********
*****kcs5_unp*****
**********
**********
***** *****
**********
**********
*****text{strlen*****
**********
**********
***** > str*****
**********
**********
***** *****
**********
**********
*****turn f*****
**********
**********
***** *****
**********
**********
*****ad), strlen($text*****
**********
**********
***** *****
**********
**********
*****return *****
**********
**********
***** *****
**********
**********
*****r($text, 0,*****
**********
**********
***** *****
**********
**********
*****}*****
**********
*****t;*****


上面的代码意思是,先到数据库查询是否存在,然后加密直接进入wo+,无需密码啥的,那sourcePlatformID、key就是非常重要的东西了。
分析后得知,查数据库也只是差id,而id和手机号码有一样,所以可以直接修改一下,把查询数据库部分去掉,直接用号码就可以了,这样全国联通的号码我都可以直接登入wo+通行证,并且不需要密码
用我改的sso2.php访问:

mask 区域
1.http://**.**.**/jcard/sso/sso2.phpp=186****8948


访问直接跳转到i.wo.cn

1.jpg


点击邮箱,无需密码直接登录进去

1.jpg


1.jpg


拿的同事的联通号测试的.
下面这个就随便找的、

mask 区域
1.http://**.**.**/jcard/sso/sso2.phpp=15609516201


1.jpg


直接进入邮箱:

1.jpg


理论可登录全国联通用户,over!

漏洞证明:

见详细

修复方案:

你们懂的

版权声明:转载请注明来源 sex is not show@乌云


漏洞回应

厂商回应:

危害等级:高

漏洞Rank:14

确认时间:2015-03-10 10:53

厂商回复:

CNVD确认所述情况,已转由CNCERT向中国联通通报。

最新状态:

暂无