记录黑客技术中优秀的内容, 传播黑客文化,分享黑客技术精华

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

2015-01-11 01:50

通过之前的多次消费数据对比,获知的信息如下,有效数据存储区域为第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卡

知识来源: www.wooyun.org/bugs/wooyun-2015-079123

阅读:165287 | 评论:0 | 标签:无

想收藏或者和大家分享这篇好文章→复制链接地址

“辉煌国际饭卡可被无限复制篡改从而可免费吃饭(射频卡设计安全隐患)”共有0条留言

发表评论

姓名:

邮箱:

网址:

验证码:

公告

关注公众号hackdig,学习最新黑客技术

推广

工具

标签云