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

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

缺陷编号:wooyun-2014-079123

漏洞标题:辉煌国际饭卡可被无限复制篡改从而可免费吃饭(射频卡设计安全隐患)

相关厂商:九鼎辉煌

漏洞作者: Ano_Tom

提交时间:2014-10-13 00:24

修复时间:2015-01-11 00:26

公开时间:2015-01-11 00:26

漏洞类型:设计错误/逻辑缺陷

危害等级:高

自评Rank:15

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

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

Tags标签:

4人收藏 收藏
分享漏洞:


漏洞详情

披露状态:

2014-10-13: 细节已通知厂商并且等待厂商处理中
2014-10-16: 厂商已经确认,细节仅向厂商公开
2014-10-19: 细节向第三方安全合作伙伴开放
2014-12-10: 细节向核心白帽子及相关领域专家公开
2014-12-20: 细节向普通白帽子公开
2014-12-30: 细节向实习白帽子公开
2015-01-11: 细节向公众公开

简要描述:

继上次免费用水后,这次该免费吃饭了。辉煌国际里各店家均使用该卡,附近的联想、百度、神舟数码、天融信公司的员工都会去消费。

详细说明:

通过之前的多次消费数据对比,获知的信息如下,有效数据存储区域为第08扇区,大致如下

a.png


图为刚开卡时的数据内容,有效金额为20.00,2000其16进制为07 D0
首先通过加密算法缺陷可以获取其全扇区的内容,分析对比可以篡改卡的数据,首先是克隆已知卡。
读取原始卡的数据,其08扇区数据内容如下

b.png


剩余金额为0A8C=2700 即27元。将该卡获得的数据写入到两张空白卡(可改写uid的)里,标号为1号、2号
如图

c.jpg


d.jpg


测试三张卡的余额如下图(漂亮妹子看到我的卡说,这个卡也可以刷么。"可以,不信你看")

e.jpg


f.jpg


g.jpg


测试发现,每张卡都可以消费,而且剩余金额互不影响。所以如果三张卡都可以消费,而且消费的金额超过了27元那肯定是存在缺陷的。
三张卡的消费如图
吃的麻辣香锅,价格为23元(菜加一碗米饭)+1元(一碗米饭)
1.1号卡刷了10元,清单如下,剩余金额为17元。

h.jpg


i.jpg


2.2号卡刷了14元,剩余13元,如下图

j.jpg


k.jpg


3.原始卡消费了3次,第一次为1元的米饭,第二次为10元的大杯奶茶,第三次为12元的两个驴肉火烧,如图

l.jpg


m.jpg


n.jpg


o.jpg


所以总共的消费金额为10+14+23=47元,三张卡总的剩余为34元,从而证实复制的多张卡可以正常消费,从而免费吃饭。
战果如图。

p.jpg


接下来测试篡改卡的金额,看是否还能正常消费。
在将金额篡改后,重新写入卡中,刷卡时候提示读取金额错误。得知肯定还有校验位,在对比了多次数据后未能成功得到校验位是如何实现的。由于测试时间较短,前前后后搁置了老长时间,要离开的时候才想起来去测试该卡,因而未能实现修改为任意金额。但这不影响,办理一张新卡,读取内容,消费后将初始内容继续写入,那我的金额一样可以永远不变,因而可以免费吃饭。
观察商场里的终端设备,发现其有无线接口,是通过无线进行通信的。
但刷卡时,其读取的金额是从卡里读取的,应该并未查询数据库里的金额。当然,设备最终统计数据库的时候可能该卡的数据会产生异常。
使用工具:
ACR122U
MiFare Offline Cracker
libnfc
过程:
利用算法缺陷,读取全扇区内容,获得dump文件,将内容利用libnfc写入到一张可以改uid的空卡中即可。
参考:
MiFare卡结构即原理介绍:MF1S50YYX
算法相关缺陷:The MIFARE Hack
注:此次测试,多消费的金额为xx元,厂商若方便可以留下支付宝帐号,如数归还。:)

漏洞证明:

如上详细描述

修复方案:

全加密、卡换cpu卡

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


漏洞回应

厂商回应:

危害等级:中

漏洞Rank:8

确认时间:2014-10-16 15:20

厂商回复:

最新状态:

暂无


漏洞评价:

评论

  1. 2014-10-13 09:25 | hacker@sina.cn ( 普通白帽子 | Rank:288 漏洞数:27 | ANONYMOUS)

    辉煌国际附近的都是西二旗的屌丝 请到我大上帝来吃饭

  2. 2014-10-13 11:07 | zeracker 认证白帽子 ( 核心白帽子 | Rank:1068 漏洞数:137 | 多乌云、多机会!微信公众号: id:a301zls ...)

    洞主请吃饭是么。

  3. 2014-10-13 17:43 | Ano_Tom ( 普通白帽子 | Rank:368 漏洞数:40 | Talk is cheap.:)

    @zeracker 负一楼随便吃。:)

  4. 2014-10-13 20:21 | 毕月乌 ( 普通白帽子 | Rank:120 漏洞数:16 | 猜猜我是谁?)

    求饭吃

  5. 2014-11-10 21:43 | wefgod ( 普通白帽子 | Rank:1807 漏洞数:179 | 力不从心)

    哥们你单子够大的啊!佩服。居然还直接去刷!你复制卡请谁吃饭了?

  6. 2014-11-10 22:07 | Ano_Tom ( 普通白帽子 | Rank:368 漏洞数:40 | Talk is cheap.:)

    @wefgod 哈哈,没请,就自己吃了一顿。

  7. 2014-11-11 16:08 | wefgod ( 普通白帽子 | Rank:1807 漏洞数:179 | 力不从心)

    @Ano_Tom 吃了三次啊?擦!饭量不错哦

  8. 2015-01-11 00:39 | fox ( 普通白帽子 | Rank:159 漏洞数:16 | fox)

    你拿两张白乎乎的卡去刷, 服务员也不管你?

  9. 2015-01-11 10:14 | zhxs ( 实习白帽子 | Rank:32 漏洞数:19 | Jyhack-TeaM:http://bbs.jyhack.com/)

    这个叼哈

  10. 2015-01-13 09:52 | Code_Monkey ( 路人 | Rank:24 漏洞数:7 | Code Monkey think someday he have everyt...)

    这个叼!