1 / 20
文档名称:

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

格式:doc   大小:212KB   页数:20页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

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

上传人:guoxiachuanyue008 2021/9/10 文件大小:212 KB

下载得到文件列表

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

文档介绍

文档介绍:: .
0x01契机
一直没有机会也没下定决心认真的去研究某个安全领域, 很早之前就看到好多人研究 RFID,
一直很憧憬那片天空,趁着老大给机会,决定选这个方向作为个人业余努力的方向。 差不
多四天前入手了 ACR122U决定拿自己母校的餐厅饭卡练手。 ACR122U的使用很简单,只要
安装上驱动,使用M1卡服务程序就可以很快破解,破解完成后查看其生成的 dump文件,找 到加密扇区的密码,将密码导入到 MCT(Mifare Classic Tool),剩下的就可以完全使用 MCT
完成了,个人很怀疑破解过程是否完全可以通过手机(支持 NFQ APP完成。ACR122U的详
细使用过程可以参考:RFID安全之某学校水卡破解,本文主要介绍目前 M1卡中的数据分析
和M1卡安全防护方案。
0x02背景知识
了解M1卡的结构可以知道 M1卡共16个扇区,编号从0到15,每个扇区配备了从 0到3共 4个段,每个段可以保存 16字节的内容。
0x03数据分析
阅读《RFID安全之某学校水卡破解》可以发现该学校的水卡中数据存储比较简单,按 照作者的分析,4号扇区的1、2号数据段(编号从 0开始)存储了水卡余额,将已知的余 ,换算为分为3231,再转为10进制为C9F,即00000C9F,而0C9F取反为FFFFF360, 这时比较下4号扇区的值,很容易发现规律:前四个字节不取反倒序 (9F0C0000)存储余额, 接下来四个字节取反倒序 (60F3FFFF)存储余额,再接下来四个字节不取反倒序 (9F0C0000)
存储余额。
00000000000000000000000000000000
00000000000000000000000000000000
00000000000000000000000000000000
'MH ■■
0400000000000000000000000000C5AE
9F0C000060F3FFFF9F0C000011EE11 EE
9F0C000060F3FFFF9F0C000012ED12ED
上面提到的“倒序”,可以结合计算机数据存储方式来理解:如下图所示,变量 a存
储的数据对应的16进制为0A112233,变量b存储的数据对应的16进制为0B445566。
高地址
Int类型
0B
1
变量b
44
占4字节
55
共 32brt
int类型
OA
变量白
12
占4字节
34
共 32bit
56
如果我们把上面数据存储内存图横向摆放-则其效果为:
低地址 > 高地址
int类型变量白占4字节共艾bit
irit类型变量&占4字节共益brt
56 34
12
'、£
66
55
44 0B
这样就很明显了, 5634120A,就是变量a所代表的数据的十六进制 0A123456的倒序。
作为入门教程,个人认为《 RFID安全之某学校水卡破解》是非常不错的。看完这个教程,
并实践结束后,我停下来思考这样一个问题: M1卡的***是傻瓜式的,当然也有文章
介绍破解原理,但是作为门外汉,目前我还不是特别关心,我只想找到那种破解成功, 可以
修改金额的快感!那么在整个 M1卡的破解过程中,我自己到底起了什么作用?答案是卡片
的数据分析。 《RFID安全之某学校水卡破解》中的数据分析并不难,只要知道水卡的余额
就可以定位卡片中余额数据的存储位置, 细心的读者肯定可以发现文中的截图 5号扇区也存
在非0值块,作者在《RFID安全之某学校水卡破解后记——不留后患》中作了进一步分析;
《任意修改学校食堂饭卡余额》这篇文章所描述的卡片和《 RFID安全之某学校水卡破解》
的分析非常相似;而另一篇《破解学校水卡 ---IIIRFID Hack 初探》文中的数据就更简单
了,只有余额和消费金额之和,连取反的校验都没做。 分析了几篇图文教程式入门文章,
加上自己的实际破解过程,总结了一下数据分析的经验。 首先,需要收集信息,然后可以
通过数据比对法定位余额,如果卡片数据采取了校验保护,可以采用试错法进行排查定位, 正如《RFID安全之某学校水卡破解后记一一不留后患》中所用到的方法。

比对法,就是将已知数据换算成十六进制,寻找卡片中能与之对应的数据,从而确定 卡片中对应的存储位置所存储的数据的意义, 或者将卡片中变化的字节转成十进制, 判断是
否存在相应