破解简单Mifare射频卡密钥杂记
先要了解一点大学城浴卡用的是什么卡,经查证是Mifare S50卡,也有叫ISO14443A的(协议名)。本来想看看大学城浴卡有没有安全漏洞,没想到浴卡公司在安全性上几乎是蔑视我们大学生的智商,虽然被破解了还继续用!而且这种破解很厉害,除了在线的(比如大学城的校园卡、公交卡),离线的系统基本没有可以抵挡这种破解。
当然要干这档事,总得有读写卡器吧,淘宝上一搜一大堆啊,120元左右一个。不过呢,我推荐一个国外叫OpenPCD小组的产品,毕竟人家不管是电路图还是软件统统开源嘛。他们项目的地址在
http://www.openpcd.org
样卡图片:
接下来是软件,因为都是USB连接的,所以Linux下没什么驱动问题,只缺需要一个库文件,执行svn co http://svn.gnumonks.org/trunk/librfid下载编译后呢,就可以使用了。
然后在目录底下执行librfid-tool -s
获得每张卡(标签)的UID:
比如我的浴卡返回了SERIAL: (4): 91 5c c5 2f 33 56 a1 c9
我的浴卡UID是“91 5c c5 2f”,随机密码值“33 56 a1 c9”
然后是霸气的一条命令librfid-tool -d -s 91 5c c5 2f -n 33 56 a1 c9 -sp 18 -k2 FF FF FF FF FF FF
哦……忘了说了,Mifare卡的加密是两个密钥互相锁定!读写是一个个扇区进行的,不能一个个字节读写,所以有了
- -sp:据查,只有18扇区浴卡公司加了密,其他扇区都是没有意义的空值,所以扇区填18
- -k2:这个是keyB,也就是第二个密钥,好吧,我承认我实验了很多次才知道是keyB是关键。后面的12个F只是乱写的密钥,你也可以随便编。
- -d:其实是dump,原始数据返回,这里用来破解了
这条命令下去,hoho,返回了“RX (4) 6a 12 c9 0b”,(4)说明密码错误。
废话,不错误那我这文章写来干吗?当然这个返回值极度重要。
在下来是librdif-crack登场!librfid-crack -u 91 5c c5 2f -r 6a 12 c9 0b -sp 18 -k2 FF FF FF FF FF FF
好吧,我不多解释了,大家对着文档或者呃参数画虎吧。
我的浴卡返回值是:“Cracked: 02 10 66 36 80 80”
奇怪吧,怎么这么像电话号码,我查了查……还真是这家公司的电话号码,哎……
有了密钥后想干吗干吗了
所以啊,大家就不要问我怎么加值了,这个问题绝不回答!
破解简单Mifare射频卡密钥杂记的更多相关文章
- 由Mifare 1卡破解带来的危险以及应对方法
今年年初以来,一个消息的传出震惊了整个IC卡行业.最近,德国和美国的研究人员成功地破解了NXP的Mifare1芯片的安全算法.Mifare1芯片主要用于门禁系统访问控制卡,以及一些小额支付卡,应用范围 ...
- MIFARE系列6《射频卡与读写器的通讯》
1. 复位应答(Answer to request) 读写器呼叫磁场内的卡片,卡片对呼叫做出应答.对刚进入磁场得到电复位处于休闲状态的卡片,卡请求(REQA,0x26):对于已进行过读写操作并进入休眠 ...
- MIFARE系列6《射频卡与读写器的通信》
1. ATR(Answer to request) 读写器呼叫磁场内的卡片.卡片对呼叫做出应答. 对刚进入磁场得到电复位处于休闲状态的卡片,卡请求(REQA,0x26):对于已进行过读写操作并进入休眠 ...
- RC522射频卡读写模块驱动(仅读取)
目录 说明 测试结果 main RC522.h RC522.c 说明 更改了网上的源代码,仅保留了读取序列号并通过串口回传的功能.版本号:V1 感谢 https://blog.csdn.net/qq_ ...
- [原创]用逻辑嗅探破解接触式IC卡口令
最近两周对接触型IC卡很感兴趣,就动手实践了一下,最终实现的效果是通过破解IC卡口令实现对数据修改,然后就可以随意洗衣服喽~IC卡从数据传递方式上划分为接触型和非接触型两种.接触型的卡片表面有金属贴片 ...
- 射频识别技术漫谈(11)——Mifare系列卡的共性【worldsing笔记】
Mifare是NXP公司生产的一系列遵守ISO14443A标准的射频卡,包Mifare S50.Mifare S70.Mifare UltraLight.Mifare Pro.Mifare Desfi ...
- 射频识别技术漫谈(28)——基于MF1射频卡的酒店门锁设计
电子门锁是现代星级酒店管理电子化.智能化的重要电子设备.相较于传统的机械锁,基于RFID技术的电子门锁使用方便,易于管理,安全性高,可实现对开锁用户的分优先级自动管理,对房间入住信息实现自动统计与报表 ...
- 射频识别技术漫谈(11)——Mifare系列卡的共性
Mifare是NXP公司生产的一系列遵守ISO14443A标准的射频卡,包Mifare S50.Mifare S70.Mifare UltraLight.Mifare Pro.Mifare Desfi ...
- RFID射频卡超市购物结算系统
RFID射频卡超市购物结算系统 这段时间在做RFID射频卡超市购物结算系统,这个系统的设想来自于大学研究课题,但是我们在淘宝网上购买设备的时候淘宝店主都认为RF射频技术不好应用在超市购物结算系统,原因 ...
随机推荐
- 3rd day
今天学习创建了几个简单的表:
- backgroundworker组件的使用
本文转载:http://www.cnblogs.com/inforasc/archive/2009/10/12/1582110.html BackgroundWorker 组件用来执行诸如数据库事务. ...
- Directx 3D编程实例:绘制可变速旋转的三角形
最近朋友建议我写一些关于微软云技术的博客留给学校下一届的学生们看,怕下一届的MSTC断档.于是我也觉的有这个必要. 写了几篇博客之后,我觉得也有必要把这一年的学习内容放在博客做个纪念,就这样写了本篇博 ...
- 如何调试delphi的Access violation at address错误
1.什么是 MAP 文件?简单地讲,MAP 文件是程序的全局符号.源文件和代码行号信息的唯一的文本表示方法,它可以在任何地方.任何时候使用,不需要有额外的程序进行支持. 2.DELPHI下生成MAP文 ...
- C++发送邮件和附件
c++socketnulldelete服务器stream 头文件 /**************************************************************** ...
- [转] doxygen使用总结
doxygen [功能] 为许多种语言编写的程序生成文档的工具. [举例] *生成一个模板配置文件,模板文件中有详细的注释: $doxgen -g test 这样,会生成一个test文件,1500多行 ...
- SPOJ 3937 - Wooden Sticks 最长上升子序列LIS
给了n个(n<=5000)木棍的长度hi与宽度wi(均小于10000),现在机器要打磨这些木棍,如果相邻连个木棍hi<=hj并且wi<=wj就不需要调整机器,问如何排序使得机器调整的 ...
- 【开源java游戏框架libgdx专题】-03-项目开发与调试
创建libgdx项目 下载项目配置工具 gdx-setup.jar 生成项目 导入Eclipse File -> Import -> Gradle -> Gradle Project ...
- (转)PHP中extract()函数的妙用
近日在看一个牛人的代码时,看到一个非常好用的函数:extract(),它的主要作用是将数组展开,键名作为变量名,元素值为变量值,可以说为数组的操作提供了另外一个方便的工具,比方说,可以很方便的提取$_ ...
- Protocol Buffer Xcode 正确使用思路 成功安装 Xcode7.1
1. 下载protobuf编译工具 序列化是将数据转换为一个特定的类 http://pan.baidu.com/s/1qWrxHxU 下载解压,它不是用来放在你的项目里 2.打开终端 依次输入并等待指 ...