破解简单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射频技术不好应用在超市购物结算系统,原因 ...
随机推荐
- 解决拼团首页swiper组件手动轮播卡顿问题
解决 swiper lag , 可能是渲染背景backface-visibility后导致卡顿吧! //以下代码添加到.swiper-wrapper中 -webkit-perspective: 300 ...
- nodejs这个过程POST求
下面是一个web登陆模拟过程.当我们问一个链接,你得到一个表格,然后填写相应的表格值,然后提交登陆. var http = require('http'); var querystring = req ...
- Android学习小Demo一个显示行线的自定义EditText
今天在处理一个EditText的时候,想着把EditText做成像一本作业本上的纸一样,每一行都可以由线条隔开,具体效果如下: 1)最开始的思路 一开始的想法是很简单的,找出每一行的高度,然后一行一行 ...
- 自己动手写shell之chgrp,chown,chmod
1.chgrp实现 #include <grp.h> #include <unistd.h> void chgrp(char * groupname,char * filena ...
- 关于C++构造函数的FAQ
[1] 构造函数是用来干什么的? 构造函数构建类的对象,初始化类变量,分配资源(内存.文件.信号量.套接口等等) [2] List x; 和 List x();有什么不同? 前一个是定义List的一个 ...
- 刨根问底:对于 self = [super init] 的思考
对象初始化有两种方式:[class new] 与 [[class alloc] init] 对于后者,有分配和初始化的过程,alloc 从应用程序的虚拟地址空间上为该对象分配足够的内存,并且将新对象的 ...
- Linux开发工具之gcc
一.gcc入门(上) 1.gcc相关概念 gcc(GNU C Compiler)编译器,最初支持C语言,现已支持C.C++.Java.Pascal.Ada.COBOL语言等:支持多种硬件平台: ...
- 二分图最大匹配(匈牙利算法Dfs模板)
#include<iostream> #include<cstdio> #include<cstring> #define maxn 2020 using name ...
- Oracle中的over(partition by...)分析函数及开窗函数
假设有一张表student Name Score InsertTime (Name:姓名 Score:成绩 InsertTime:考试时间) 张三 20 2015-08-08 ...
- HTML5音乐播放器
//HTML5部分 <a href="javascript:void(0);" onclick="getCurrentTime('firefox');"& ...