RFID之M1卡数据解析总结计划要点计划.docxVIP

  • 14
  • 0
  • 约9.27千字
  • 约 13页
  • 2021-06-27 发布于山东
  • 举报

RFID之M1卡数据解析总结计划要点计划.docx

精品文档 精品文档 PAGE PAGE13 精品文档 PAGE 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安全之某学校水卡破解》 的剖析特别相像;而另一篇《破解学校水卡  |||RFIDHack  初探 》文中的数据就更简单 了,只有余额和消费金额之和,连取反的校验都没做。 剖析了几篇图文教程式入门文章, 加上自己的实际破解过程,总结了一下数据剖析的经验。 首先,需要收集信息,然后能够 经过数据比对法定位余额,如果卡片数据采取了校验保护,能够采用试错法进行排查定位, 正如《RFID安全之某学校水卡破解后记——不留后患》中所用到的方法。 0x03.1比对法 比对法,就是将已知数据换算成十六进制,寻找卡片中能与之对应的数据,进而确定 卡片中对应的存储位置所存储的数据的意义, 或许将卡片中变化的字节转成十进制, 判断是 否存在相应的数据信息。 最常用的比对值自然是卡片余额,还有目前的消费金额,或许是 累计的消费金额,这两个数据有出现在前文的引用文中。 那么除了这些,还应当考虑哪些数 据呢?这里我作一个简单的罗列:消费次数、日期、时间、读卡器编号、卡号(非 UID)等 之所以认为上面的数据能够存储在卡片中,是因为两个字节( 16bit ),不考虑符号位,可 以表示的最大数值是65535,一个字节(8bit )能够表示最大数值为 255。一张卡按四年有 效期来算的话,每日要刷 44次才能再四年内超过这个数值; 日期也能够用两个字节来表示, 能够选择整体表示,譬如12月31日,记为1231,对应到 16进制04CF,也能够一个字节表 示月一个字节表示日,仍旧是 12月31日,能够记为0C1F(1F=31);时间(不考虑秒)的 最大表示数字是23:59,也能够参照日期的表示方式,选择不同的方案;读卡器编号,一般 情况下一个单位也不会同时具有 65535台读卡设施;卡号,这里卡号一般能够用两个字节表 示,如果单位人数较多(超过 65535),也能够使用四个字节表示,卡号

文档评论(0)

1亿VIP精品文档

相关文档