RFID开发之圣诞袜的秘密
RFID开发之圣诞袜的秘密
0X01爬烟囱
请先阅读
《RFID开发之圣诞老人无稽之谈》
经过上次心有余悸的测试,决定继续细心分析卡上数据。经过多张卡对比发现有个地方是检验金额的。,我们知道E8030000, E8 03 00 00倒序为00 00 03 E8,转成10进制即为1000。
通过对比另外几张卡发现这里的金额精确到0.1。所以,所有的金额都是比原来的大10倍即个位数是 0.1元这个位置即角。十位才是1元,所以 100元,我们的数据表示是 1000。
我们更改了金额为(1500,150刀),但是为什么刷卡的时候金额还是为100呢?
因为这区做了金额校验(这里的金额检验算作是卡得第二道防护)。发现8-9字节是 0-7字节的每个字节和。
E8+03=00EB,DC+05!=00EB所以消费机会报警。现在我们知道了这个校验,那么我们在写程序的时候,更改金额区块的时候,要计算所充值的金额和原来金额的总和,然后写入8-9字节。
这样才可以正常充值使用!我们更改完得数据应为。这样应该就可以高枕无忧了!第二次刷卡测试,金额为150刀,没问题。
但是消费机又响了!究竟是哪里出了问题呢?我让朋友把消费过的卡,Dump出来,发现还是这块数据对不上。后来只好让朋友每次消费的时候Dump出数据,并记录消费金额,刷卡时间。
皇天不负有心人,终于找到了操作次数记录(每次充值都有一个操作记录,基础值为0,操作一次累加1)。
这样的话,我们程序就好解决了,每次充值之前,先备份该区块数据,做充值操作的时候把备份的数据取出来和充值后的数据进行拼接填充该区块。。此处的12-13字节为操作次数0100,倒序即为0001,这里表示1次操作记录。经过曲折的烟囱,终于达到了目的地!
当然了这里只能说是侥幸,校验的地方比较少,不是全加密,省了不少时间。
0X02送礼物
此时程序已经完成得差不多了(其余的一些数据就不一一分析了)。心想着恶作剧下,看他们行业有什么守则。。。
对方开了80、143、1433、3389端口。悲剧的是3389被防火墙做了限制,访问不了。本来想做80端口转发,没那么多时间去写就放弃了。
加了个软件彩蛋,简单的加了几句cmd,net user …….你们比我更懂!程序编译完成,发给朋友。幸运的是朋友电脑没装杀毒软件,所以CMD顺利执行,有了账号但是照样连不上。
过了差不多一个月,他又来找我Dump一张远距离ID卡,Dump完后,突然想起上次开的账号,这次千辛万苦连上了。顺手截图几张,嘿嘿~~~可惜的是找不到报价单。- -!
0X03打开圣诞袜
爬进了烟囱,把礼物装到圣诞袜,是时候该说再见了。
本次分析需求,数据分析,到开发程序Demo总耗时一个礼拜(实际开发时间)。本次RFID开发还算顺利,
归根结底有两点:
1.学校的一卡通安全性低,非全加密,没有做UID校验。只有3道校验防护(严格来说只有2道防护)。
2.消费终端没做2次校验。每次充值的充值机应该具有可标志性,以便记录操作记录。需要更多的验证,不仅限于密码块!
关于更多的RFID安全请访问radiowar wiki!
以上纯属是圣诞老人无稽之谈,不具有导向性,代表性。仅为个人学习日志!欢迎交流,互相学习!
RFID开发程序完整Demo下载:下载地址
完
祝大家圣诞快乐!
Author:chown
0X01爬烟囱
请先阅读
《RFID开发之圣诞老人无稽之谈》
经过上次心有余悸的测试,决定继续细心分析卡上数据。经过多张卡对比发现有个地方是检验金额的。
E803000000000000EB00640001003B02
通过对比另外几张卡发现这里的金额精确到0.1。所以,所有的金额都是比原来的大10倍即个位数是 0.1元这个位置即角。十位才是1元,所以 100元,我们的数据表示是 1000。
我们更改了金额为
DC05000000000000EB00640001003B02
因为这区做了金额校验(这里的金额检验算作是卡得第二道防护)。
E8 03 00 00 00 00 00 00 EB 00 64 00 01 00 3B 02
E8+03=00EB,DC+05!=00EB所以消费机会报警。现在我们知道了这个校验,那么我们在写程序的时候,更改金额区块的时候,要计算所充值的金额和原来金额的总和,然后写入8-9字节。
这样才可以正常充值使用!我们更改完得数据应为
DC05000000000000E100640001003B02
但是消费机又响了!究竟是哪里出了问题呢?我让朋友把消费过的卡,Dump出来,发现还是这块数据对不上。后来只好让朋友每次消费的时候Dump出数据,并记录消费金额,刷卡时间。
皇天不负有心人,终于找到了操作次数记录(每次充值都有一个操作记录,基础值为0,操作一次累加1)。
这样的话,我们程序就好解决了,每次充值之前,先备份该区块数据,做充值操作的时候把备份的数据取出来和充值后的数据进行拼接填充该区块。
DC05000000000000E1006400 0100 3B02
当然了这里只能说是侥幸,校验的地方比较少,不是全加密,省了不少时间。
0X02送礼物
此时程序已经完成得差不多了(其余的一些数据就不一一分析了)。心想着恶作剧下,看他们行业有什么守则。。。
对方开了80、143、1433、3389端口。悲剧的是3389被防火墙做了限制,访问不了。本来想做80端口转发,没那么多时间去写就放弃了。
加了个软件彩蛋,简单的加了几句cmd,net user …….你们比我更懂!程序编译完成,发给朋友。幸运的是朋友电脑没装杀毒软件,所以CMD顺利执行,有了账号但是照样连不上。
过了差不多一个月,他又来找我Dump一张远距离ID卡,Dump完后,突然想起上次开的账号,这次千辛万苦连上了。顺手截图几张,嘿嘿~~~可惜的是找不到报价单。- -!
0X03打开圣诞袜
爬进了烟囱,把礼物装到圣诞袜,是时候该说再见了。
本次分析需求,数据分析,到开发程序Demo总耗时一个礼拜(实际开发时间)。本次RFID开发还算顺利,
归根结底有两点:
1.学校的一卡通安全性低,非全加密,没有做UID校验。只有3道校验防护(严格来说只有2道防护)。
2.消费终端没做2次校验。每次充值的充值机应该具有可标志性,以便记录操作记录。需要更多的验证,不仅限于密码块!
关于更多的RFID安全请访问radiowar wiki!
以上纯属是圣诞老人无稽之谈,不具有导向性,代表性。仅为个人学习日志!欢迎交流,互相学习!
RFID开发程序完整Demo下载:下载地址
完
祝大家圣诞快乐!
Author:chown
评论16次
很久之前就想学了,看了旺财哥的blog真实惭愧啊. 今天又见RF.搂主把所用到的工具列个表吧.
rfid是个好东西 三星的某些手机也支持这个,据说可以克隆一个乘车卡,国外有报道 国内暂时还没见到
来个更常用的。。。停车卡的。有木有。。。
圣诞袜子好臭啊
话说为什么在导入dump到空白卡的时候有时候会发生偏移呢? 求解~ 写进去一个dump 重新读出来就和写进去的不一样了
反正加JB也不扣我的钱 哈哈,你和楼上有基情吧。俩ID那么像
赞一个
这个“详细教程”很难定义,只能说关键在于Key和卡结构、卡数据分析。 真正遇到的具体问题具体分析吧。
RFID,找机会好好的研究下,收藏了
楼主有时间写个详细教程呗……
赞一个 厉害
是啊,上班了,没以前在学校有那么多个人的时间。
大C有钱的爷
牛逼!可惜没有精力研究这些好玩的东西了。
赞
赶完饭局,赶紧回家码字!手冻死了。沙发