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

admin 2015年7月10日16:03:38评论439 views字数 246阅读0分49秒阅读模式
摘要

2014-10-15: 细节已通知厂商并且等待厂商处理中
2014-10-16: 厂商已经确认,细节仅向厂商公开
2014-10-19: 细节向第三方安全合作伙伴开放(绿盟科技、唐朝安全巡航、无声信息)
2014-12-10: 细节向核心白帽子及相关领域专家公开
2014-12-20: 细节向普通白帽子公开
2014-12-30: 细节向实习白帽子公开
2015-01-11: 细节向公众公开

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

缺陷编号: WooYun-2014-79123

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

相关厂商: 九鼎辉煌

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

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

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

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

危害等级: 高

自评Rank: 15

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

漏洞来源:www.wooyun.org ,如有疑问或需要帮助请联系

Tags标签: RFID

4人收藏


漏洞详情

披露状态:

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

简要描述:

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

详细说明:

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

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

图为刚开卡时的数据内容,有效金额为20.00,2000其16进制为07 D0

首先通过加密算法缺陷可以获取其全扇区的内容,分析对比可以篡改卡的数据,首先是克隆已知卡。

读取原始卡的数据,其08扇区数据内容如下

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

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

如图

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

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

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

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

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

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

测试发现,每张卡都可以消费,而且剩余金额互不影响。所以如果三张卡都可以消费,而且消费的金额超过了27元那肯定是存在缺陷的。

三张卡的消费如图

吃的麻辣香锅,价格为23元(菜加一碗米饭)+1元(一碗米饭)

1.1号卡刷了10元,清单如下,剩余金额为17元。

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

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

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

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

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

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

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

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

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

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

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

战果如图。

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

接下来测试篡改卡的金额,看是否还能正常消费。

在将金额篡改后,重新写入卡中,刷卡时候提示读取金额错误。得知肯定还有校验位,在对比了多次数据后未能成功得到校验位是如何实现的。由于测试时间较短,前前后后搁置了老长时间,要离开的时候才想起来去测试该卡,因而未能实现修改为任意金额。但这不影响,办理一张新卡,读取内容,消费后将初始内容继续写入,那我的金额一样可以永远不变,因而可以免费吃饭。

观察商场里的终端设备,发现其有无线接口,是通过无线进行通信的。

但刷卡时,其读取的金额是从卡里读取的,应该并未查询数据库里的金额。当然,设备最终统计数据库的时候可能该卡的数据会产生异常。

使用工具:

ACR122U

MiFare Offline Cracker

libnfc

过程:

利用算法缺陷,读取全扇区内容,获得dump文件,将内容利用libnfc写入到一张可以改uid的空卡中即可。

参考:

MiFare卡结构即原理介绍:MF1S50YYX

算法相关缺陷:The MIFARE Hack

注:此次测试,多消费的金额为xx元,厂商若方便可以留下支付宝帐号,如数归还。:)

漏洞证明:

如上详细描述

修复方案:

全加密、卡换cpu卡

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


漏洞回应

厂商回应:

危害等级:中

漏洞Rank:8

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

厂商回复:

最新状态:

暂无


漏洞评价:

对本漏洞信息进行评价,以更好的反馈信息的价值,包括信息客观性,内容是否完整以及是否具备学习价值

漏洞评价(少于3人评价):

登陆后才能进行评分

100%

0%

0%

0%

0%


评价

  1. 2014-10-13 11:07 | zeracker 辉煌国际饭卡可被无限复制篡改从而可免费吃饭(射频卡设计安全隐患) ( 普通白帽子 | Rank:1077 漏洞数:139 | 爱吃小龙虾。)

    0

    洞主请吃饭是么。

  2. 2014-10-13 17:43 | Ano_Tom 辉煌国际饭卡可被无限复制篡改从而可免费吃饭(射频卡设计安全隐患) ( 普通白帽子 | Rank:474 漏洞数:47 | Talk is cheap.:)

    0

    @zeracker 负一楼随便吃。:)

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

    0

    求饭吃

  4. 2014-11-10 21:43 | wefgod ( 核心白帽子 | Rank:1829 漏洞数:183 | 力不从心)

    1

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

  5. 2014-11-10 22:07 | Ano_Tom 辉煌国际饭卡可被无限复制篡改从而可免费吃饭(射频卡设计安全隐患) ( 普通白帽子 | Rank:474 漏洞数:47 | Talk is cheap.:)

    1

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

  6. 2014-11-11 16:08 | wefgod ( 核心白帽子 | Rank:1829 漏洞数:183 | 力不从心)

    1

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

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

    1

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

  8. 2015-01-11 10:14 | zhxs ( 实习白帽子 | Rank:69 漏洞数:26 | 不是你不行、只是路不平ฏ๎๎๎๎๎๎๎๎...)

    1

    这个叼哈

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

    1

    这个叼!

免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin