RFID之M1卡数据分析要点.docxVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
0 开始)存储了水卡余额,将已知的余 0x01 契机 一直没有机会也没下定决心认真的去研究某个安全领域, 很早之前就看到好多人研究 RFID, 一直很憧憬那片天空,趁着老大给机会,决定选这个方向作为个人业余努力的方向。 差不 多四天前入手了  ACR122U,决定拿自己母校的餐厅饭卡练手。  ACR122U的使用很简单, 只要 安装上驱动, 使用  M1卡服务程序就可以很快破解,  破解完成后查看其生成的  dump文件, 找 到加密扇区的密码,将密码导入到  MCT(Mifare  Classic Tool) ,剩下的就可以完全使用  MCT 完成了,个人很怀疑破解过程是否完全可以通过手机(支持  NFC) APP完成。  ACR122U的详 细使用过程可以参考:  RFID 安全之某学校水卡破解,本文主要介绍目前  M1卡中的数据分析 和 M1卡安全防护方案。 0x02 背景知识 了解 M1卡的结构可以知道 M1卡共 16 个扇区,编号从 0 到 15,每个扇区配备了从 0到 3共 4 个段,每个段可以保存 16 字节的内容。 0x03 数据分析 阅读《 RFID 安全之某学校水卡破解》可以发现该学校的水卡中数据存储比较简单,按 照作者的分析, 4 号扇区的 1、2 号数据段(编号从 额 32.31 ,换算为分为 3231,再转为 10 进制为 C9F,即 00000C9F,而 0C9F 取反为 FFFFF360, 这时比较下 4 号扇区的值, 很容易发现规律: 前四个字节不取反倒序 ( 9F0C0000)存储余额,接下来四个字节取反倒序 ( 60F3FFFF)存储余额, 再接下来四个字节不取反倒序 ( 9F0C0000)存储余额。 上面提到的“倒序”,可以结合计算机数据存储方式来理解:如下图所示,变量 a 存 储的数据对应的 16 进制为 0A112233,变量 b 存储的数据对应的 16 进制为 0B445566。 这样就很明显了, 5634120A,就是变量 a 所代表的数据的十六进制 0A123456 的倒序。 作为入门教程,个人认为《 RFID 安全之某学校水卡破解》是非常不错的。看完这个教程, 并实践结束后,我停下来思考这样一个问题: M1卡的密码破解是傻瓜式的,当然也有文章 介绍破解原理, 但是作为门外汉,目前我还不是特别关心,我只想找到那种破解成功, 可以 修改金额的快感!那么在整个 M1卡的破解过程中,我自己到底起了什么作用?答案是卡片 的数据分析。 《RFID 安全之某学校水卡破解》中的数据分析并不难,只要知道水卡的余额 就可以定位卡片中余额数据的存储位置,  细心的读者肯定可以发现文中的截图  5 号扇区也存 在非  0 值块,作者在《  RFID 安全之某学校水卡破解后记——不留后患》中作了进一步分析; 《任意修改学校食堂饭卡余额》这篇文章所描述的卡片和《  RFID 安全之某学校水卡破解》 的分析非常相似;而另一篇《破解学校水卡  ---|||RFID Hack  初探 》文中的数据就更简单 了,只有余额和消费金额之和,连取反的校验都没做。 分析了几篇图文教程式入门文章, 加上自己的实际破解过程,总结了一下数据分析的经验。 首先,需要收集信息,然后可以 通过数据比对法定位余额,如果卡片数据采取了校验保护,可以采用试错法进行排查定位, 正如《 RFID 安全之某学校水卡破解后记——不留后患》中所用到的方法。 0x03.1 比对法 比对法,就是将已知数据换算成十六进制,寻找卡片中能与之对应的数据,从而确定 卡片中对应的存储位置所存储的数据的意义, 或者将卡片中变化的字节转成十进制, 判断是 否存在相应的数据信息。 最常用的比对值当然是卡片余额,还有当前的消费金额,或者是 累计的消费金额, 这两个数据有出现在前文的引用文中。 那么除了这些, 还应该考虑哪些数 据呢?这里我作一个简单的罗列:消费次数、日期、时间、读卡器编号、卡号(非 UID)等 之所以认为上面的数据可以存储在卡片中,是因为两个字节( 16bit ),不考虑符号位,可 以表示的最大数值是 65535,一个字节( 8bit )可以表示最大数值为 255。一张卡按四年有 效期来算的话, 每天要刷 44 次才能再四年内超过这个数值; 日期也可以用两个字节来表示, 可以选择整体表示, 譬如 12 月 31 日,记为 1231,对应到 16 进制 04CF,也可以一个字节表 示月一个字节表示日,仍然是 12 月 31 日,可以记为 0C1F( 1F=31);时间(不考虑秒)的 最大表示数字是 23:59 ,也可以参考日期的表示方式,选择不同的方案;读卡器编号,一般 情况下一个单位也不会

文档评论(0)

182****0747 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档