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

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

缺陷编号:wooyun-2015-0153947

漏洞标题:招行某漏洞可刷豹子号银行卡(且旧卡号依然可以支付与收款)

相关厂商:招商银行

漏洞作者: Slcio

提交时间:2015-11-18 15:52

修复时间:2015-11-25 09:00

公开时间:2015-11-25 09:00

漏洞类型:账户体系控制不严

危害等级:中

自评Rank:5

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

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

Tags标签:

4人收藏 收藏
分享漏洞:


漏洞详情

披露状态:

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

简要描述:

招商银行银行卡号随意刷,未做限制大量8A、9A尾号等你拿。。存50W三个月的用户才能订制后4位,我们可以订制后8位!!

详细说明:

电子一卡通
通过大众版,专业版,手机登陆。。。有一个升降级功能,可以无限刷好吗,通过Luhn算号出来,然后刷就可以了。。
另外号码是一个月更换一次,但是实际测试是第二天就可以继续更换,所以认为计划任务跑设置错时间了。。。
已经开发出插件刷号,写了vbs算号。
利用工具发布在论坛中多数用户已经刷到号码。
http://bbs.51credit.com/forum.php?mod=viewthread&tid=2315957

cardnum = InputBox("请输入当前卡号:")
dim fso, f
set fso = CreateObject("Scripting.FileSystemObject")
If IsNumeric(cardnum) = False Then
MsgBox "请输入正确卡号!!"
Wscript.Quit
End If
If Len(cardnum) = 16 Then
Dim sss(8000)
For i = 0 To 999
If Len(i) < 4 Then
s1 = "00" & i
s1 = Right(s1, 3)
sss(i) = s1 & 1111
End If
Next
For i = 0 To 999
If Len(i) < 4 Then
s1 = "00" & i
s1 = Right(s1, 3)
sss(1 & s1) = s1 & 2222
End If
Next

For i = 0 To 999
If Len(i) < 4 Then
s1 = "00" & i
s1 = Right(s1, 3)
sss(2 & s1) = s1 & 3333
End If
Next

For i = 0 To 999
If Len(i) < 4 Then
s1 = "00" & i
s1 = Right(s1, 3)
sss(3 & s1) = s1 & 5555
End If
Next

For i = 0 To 999
If Len(i) < 4 Then
s1 = "00" & i
s1 = Right(s1, 3)
sss(4 & s1) = s1 & 6666
End If
Next

For i = 0 To 999
If Len(i) < 4 Then
s1 = "00" & i
s1 = Right(s1, 3)
sss(5 & s1) = s1 & 7777
End If
Next

For i = 0 To 999
If Len(i) < 4 Then
s1 = "00" & i
s1 = Right(s1, 3)
sss(6 & s1) = s1 & 8888
End If
Next

For i = 0 To 999
If Len(i) < 4 Then
s1 = "00" & i
s1 = Right(s1, 3)
sss(7 & s1) = s1 & 9999
End If
Next

Set f = fso.CreateTextFile("./cardnum.txt", True)
For n = 0 To 7999
newcard = Mid(cardnum, 1, 9) & sss(n)
If newcard >= cardnum then
s = Luhn_Test(newcard)
If s = 0 Then
f.WriteLine strreverse(newcard)
End If
End If
Next
f.Close()
Else
MsgBox "请输入16位正确卡号!!"
Wscript.Quit
End If
For i = 0 To 999
If Len(i) < 3 Then
s1 = "00" & i
s1 = Right(s1, 3)
sss(i) = s1 & 1111
End If
Next
Function Luhn_Test(cc)
cc = RevString(cc)
s1 = 0
s2 = 0
For i = 1 To Len(cc)
If i Mod 2 > 0 Then
s1 = s1 + CInt(Mid(cc, i, 1))
Else
tmp = CInt(Mid(cc, i, 1)) * 2
If tmp < 10 Then
s2 = s2 + tmp
Else
s2 = s2 + CInt(Right(CStr(tmp), 1)) + 1
End If
End If
Next
If Right(CStr(s1 + s2), 1) = "0" Then
Luhn_Test = "0"
Else
Luhn_Test = "1"
End If
End Function

Function RevString(s)
For i = Len(s) To 1 Step -1
RevString = RevString & Mid(s, i, 1)
Next
End Function


1111.png


我刷到的号码

2222.png


写的插件
最开始试用按键精灵,然后是浏览器插件。。。
本来一个月的更换期,实际是一天即可更换。。。。
发漏洞时发现已经关闭了该功能,但是手机端未关闭,通过
https://mobile.cmbchina.com/MobileHtml/Login/LoginA.aspx
登陆
依然可以刷号,登陆提示必须手机改user-agent 就行了chrome就支持模拟,新插件开发中。。

漏洞证明:

2.招商银行,电子一卡通如果更换过卡号是可以查询历史记录的。并且旧卡号可以用于支付与收款。。
我用旧卡号绑定的其他第三方付款,还是可以支付费用!!
会出现A帐户付款,扣B帐户的钱。。
如果用户旧卡号泄露会造成风险!!
新产品,新场景可能并没有考虑到吧。。。

1111.jpeg


2222.jpeg


1111.png


2222.png


3333.jpg


4444.jpg


5555.png

修复方案:

加验证码,重新设置更换时间。。。

版权声明:转载请注明来源 Slcio@乌云


漏洞回应

厂商回应:

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

忽略时间:2015-11-25 09:00

厂商回复:

漏洞Rank:2 (WooYun评价)

最新状态:

暂无


漏洞评价:

评价

  1. 2015-11-18 15:55 | 随风的风 ( 普通白帽子 | Rank:211 漏洞数:76 | 微信公众号:233sec 不定期分享各种漏洞思...)

    老板,来一打9个8的卡,顺便帮我存50万。

  2. 2015-11-18 16:00 | 浩天 认证白帽子 ( 核心白帽子 | Rank:925 漏洞数:80 | 哈!躁起来!)

    传说已有大量888888、666666的给配卡了,太帅了

  3. 2015-11-18 16:10 | Slcio ( 实习白帽子 | Rank:76 漏洞数:14 | 白帽)

    @浩天 还有个招行关于一卡通的逻辑,或者说风控问题的洞,通过下。。

  4. 2015-11-18 16:20 | Slcio ( 实习白帽子 | Rank:76 漏洞数:14 | 白帽)

    @浩天 亲。。还有个洞。。审核下。。标题有错别字帮改下。。。

  5. 2015-11-18 16:20 | 浩天 认证白帽子 ( 核心白帽子 | Rank:925 漏洞数:80 | 哈!躁起来!)

    @Slcio 你有好多靓号吖

  6. 2015-11-18 16:26 | Slcio ( 实习白帽子 | Rank:76 漏洞数:14 | 白帽)

    @浩天 写完插件,建群讨论。。最牛的地区码正好最后一位8加上后面8位8是9个8另外一个刷了8个8。。我也就玩下,刷了6个1制卡了

  7. 2015-11-18 16:47 | Yang ( 普通白帽子 | Rank:325 漏洞数:105 | 作为菜鸟,大米手机摔破了怎么办?)

    求帮刷6个222222 最主要帮我存222222

  8. 2015-11-18 17:15 | 子非海绵宝宝 认证白帽子 ( 核心白帽子 | Rank:1296 漏洞数:131 | 发扬海绵宝宝的精神!你不是海绵宝宝,你怎...)

    没明白是什么意思 是可以办 豹子号的卡还是用别人的卡?

  9. 2015-11-18 18:53 | 红客十年 ( 普通白帽子 | Rank:376 漏洞数:76 | 去年离职富士康,回到家中上蓝翔,蓝翔毕业...)

    洞主,来一打9个4的卡,顺便帮我存100万.

  10. 2015-11-18 19:11 | Me_Fortune ( 普通白帽子 | Rank:297 漏洞数:98 | The quiter you are,the more you're able ...)

    如果利用这个漏洞的话,会触犯法律么 - -。如果是边缘,发财了啊 -

  11. 2015-11-18 23:07 | Mujj ( 实习白帽子 | Rank:58 漏洞数:4 | 乌云指定IDC)

    我有50万,求大哥帮我刷个8个9的

  12. 2015-11-19 08:58 | godsec ( 普通白帽子 | Rank:251 漏洞数:39 | 不走小厂商,我们还是好朋友@乌云)

    我有500万 给我刷一个8888888888888888

  13. 2015-11-19 14:21 | Slcio ( 实习白帽子 | Rank:76 漏洞数:14 | 白帽)

    @godsec 500万就像要这么好的号,,做梦吧。。。800万才私行级别,你没个几万亿,银行不会鸟你的!

  14. 2015-11-19 14:23 | Slcio ( 实习白帽子 | Rank:76 漏洞数:14 | 白帽)

    @Me_Fortune 有啥发财啊?卖卡号??无任何盈利价值啊。。。

  15. 2015-11-19 14:47 | godsec ( 普通白帽子 | Rank:251 漏洞数:39 | 不走小厂商,我们还是好朋友@乌云)

    @Slcio 现在5位的QQ都得上万了,更别说银行连号了- -

  16. 2015-11-19 16:19 | Slcio ( 实习白帽子 | Rank:76 漏洞数:14 | 白帽)

    @godsec 银行连号资源就像我说的一般就是日均50W在银行,就可以申请白金级别储蓄卡,然后有一项功能,订制卡号最后4未或者6位。前面是银联,银行,地区识别码是不能变的。。后面才是卡号,最后一位是效验码