本内容属于侥幸成功,如果有尝试破解成功的大神请分享你的破解绝招感觉,只要这卡破解差不多只是算法什么的,本小白不是很了解,希望大神们成功。
继上次水卡的成功破解,对学校的饭卡也有点想要研究的念头了。既然这样,打铁趁热马上开始动手,先拿出MCT测试一下卡类型和扇区情况先。(不了解相关工具和术语的去看看之前的水卡破解案例以及M1卡结构和破解探究)
按往常惯例先让主角上镜。
正面
背面
经MCT的检测,结果发现饭卡也是Mifare Classic 1k的卡。
饭卡检测结果
那既然是M1卡,依旧来尝试读一下扇区,看有没有存在默认密钥。读取之后发现,卡片除了0扇区都被加密了,看来安全性还不错。可惜M1卡被破解,全部扇区加密都能够XOR算出密钥来还说有一个扇区密钥是知道的,无任何安全性可言。
0扇区存在默认密码
0扇区并没加密,所以还是可以用跟水卡破解一样的手法,M1卡的验证漏洞,具体过程就不再阐述了,可以去翻看一下之前写过的,破解出密钥之后就重点来分析下算法。其实这跟软件破解是一样原理,我们需要的不是破解密钥的方法,而是从根源上将算法破解,破解密钥简单几步没任何电脑基础的都能完成,正如学编程不是学语法而是不断提高自己的程序思维,这样我们才能学到东西。
在我破解了密钥之后,我直接将key导入了MCT中,直接用MCT读取,比起用十六进制编辑器,我倒很喜欢有M1卡特有结构高亮功能的MCT,毕竟是专门用于Mifare卡的工具,卡中数据十分直观。仔细看看,1、2、10扇区存在数据,想要数据分析必须有多组数据,找同学借了几张卡来做对照。一轮对比过后,发现我的卡又是比较奇葩的,所有人的卡都是1、2扇区存在数据,只有我的10扇区有数据,纳闷啊……
10扇区的奇怪数据
把10扇区清空,忙着生命危险跑去小卖部试了试,发现一切正常,好了,我是奇葩……
我消费了几次,拿回来之后发现,都是2扇区的扇区数据发生了变化,基本可以确定钱的数据就在2扇区,那1扇区到底是干嘛的呢?尝试清空1扇区,再去小卖部试卡,一切正常。猛然想起,学校旧的热水系统是使用饭卡的,今年更换了新系统之后才换的卡,估计1扇区就是旧热水系统的了,机器现在已经不复存在了,果断清空。
清空1扇区数据
重点来看看饭卡的数据,直接用电脑的十六进制编辑器打开dump文件,就发现2扇区0段有我的名字的存在,这里是使用GBK内码保存的汉字,然后我尝试将刚刚在消费机上看到的卡号转成十六进制,在名字前不远的地方就发现了痕迹,那现在尝试下修改姓名和卡号。
修改姓名
修改卡号
抱着赴死的心再去小卖部(小卖部的阿姨已经开始注意我这个鬼鬼祟祟的小子了),在众多掩护之下拍下了这个结果图,成功了。
卡号姓名修改成功
接下来就到了最振奋人心的修改金额了,经过前面几次消费的分析,我发现2扇区除了0段和3段之外,中间的两段数据都是发生了改变,并且每次都只有其中一行发生改变,这个问题困扰了我将近一天时间,最后在某个时刻茅塞顿开,终于想明白了。卡中的两字节数据变化,泄露了这两行数据的用途。
仔细看看数值
01BF和01BE不刚刚好相差1吗?于是去小卖部多消费了几次,再结合之前充值的几次记录,终于发现,这个值每交易一次就会加1。这应该就是交易的次数记录了,问同学借了一张刚刚充值过的卡,发现不管是充值还是消费在这里都记录了最近两次的消费记录,并且第一行是记录奇数次的,第二行是记录偶数次的,这也就造成了之前为什么变化的位置不通。知道这个规矩之后后面的工作就简单得多了,每一行肯定是代表了一次消费记录,其他数据干什么用对于我们的分析也不会造成太大的干扰。
将我现在饭卡的余额转换成十六进制,马上就发现了前8位就是记录了这次交易后的余额,紧接着的就是这次的交易的金额,再接着就是消费次数,后面还有很长一段数据应该是消费机的编号了(这个会在后续继续破解,目前暂时没有头绪),尝试着将饭卡按这个规律计算了一次,将卡修改成一百多块钱,结果如下图。
计算好的饭卡
一切弄好之后写入到新卡,拿去测试,一切正常,使用非常完好,到此为止饭卡也被全部破解了。改个强悍点的数值看一看。
破解成功
此次破解总耗时接近7天,而且还有一些隐晦数据没有清楚用途,后期继续进行研究。
-
test走进科学:学校保安如何暴打楼主7天
-
aaa居然是离线的,离线的不用这么麻烦,先把数据复制出来,钱刷完了直接写回去就有钱了
-
asdasd现在不是都联网了么,即使成功,估计等晚上,每日结账的时候消费机上传数据,你就作死了吧
-
这篇文章好熟悉,在看雪看过,在某大牛博客看过,LZ不属一下版权啊,传送门http://bobylive.com/static/1635
-
@河蟹 你想我们喷啥?就喷你这句话?呵呵呵呵
0day
已有 156 条评论
走进科学:学校保安如何暴打楼主7天
不远了
坐等radiowar来喷
@河蟹 你想我们喷啥?就喷你这句话?呵呵呵呵
@radiowar 呵呵呵,呵呵呵。
现在卡不是联网数据库操作??
要是发现不是离线的,楼主就可以坐等了
还是有人下手了
@ FB客服 对啊
……饭卡上的图片大楼看着怎么那么眼熟?
擦,博主高三。。。。。
难道楼主单纯用一个带nfc的手机再装个软件就给破了??什么软件来的
@守望的渔夫
是呀 这个软件叫 Mifare Classic Tool
功能如下:
* 读取Mifare Classic卡片 * 编辑并保存卡片的数据
* 写入Mifare Classic卡片 * 复制Mifare Classic卡片 (写入数据文件从一张卡片到一张新卡;不包括第一区块)
* 密匙管理基于字典攻击
写入你知道的密匙到一个文件中(字典).
MCT会尝试用这些密匙认证所有区块并且尽可能读取
* 创建/编辑并保存密匙文件(字典)
* 显示卡片数据为高亮的ASCII
* 显示卡片数据为7-Bit US-ASCII
* 显示Mifare Classic卡片准入条件为一个表(译者:就是根据控制位判断该区段为keyA控制还是keyB控制)
* 显示Mifare Classic卡片为数值的值块 * 内置手册
* 开
http://www.freebuf.com/tools/7531.html
m1的卡可以用shadow检测跑出key来 运气好 2个小时就能跑完
然后把key导入到字典里
消费一次 就用手机读一次
数据分析可方便了
@ anlfi 你好牛
楼主,那个mct要怎么读取这卡啊
@ anlfi 这个是对的2358699905
@守望的渔夫
@守望的渔夫
是呀 这个软件叫 Mifare Classic Tool
功能如下:
* 读取Mifare Classic卡片 * 编辑并保存卡片的数据
* 写入Mifare Classic卡片 * 复制Mifare Classic卡片 (写入数据文件从一张卡片到一张新卡;不包括第一区块)
* 密匙管理基于字典攻击
写入你知道的密匙到一个文件中(字典).
MCT会尝试用这些密匙认证所有区块并且尽可能读取
* 创建/编辑并保存密匙文件(字典)
* 显示卡片数据为高亮的ASCII
* 显示卡片数据为7-Bit US-ASCII
* 显示Mifare Classic卡片准入条件为一个表(译者:就是根据控制位判断该区段为keyA控制还是keyB控制)
* 显示Mifare Classic卡片为数值的值块 * 内置手册
* 开
http://www.freebuf.com/tools/7531.html
m1的卡可以用shadow检测跑出key来

然后把key导入到字典里
消费一次 就用手机读一次
数据分析可方便了
@anlfi 神的回复
@anlfi Mifare Classic Tool 发软件能带个地址么 带头大哥
@anlfi 可惜我们是4k卡,识别不出
@anlfi 你的手机是1+ one?
@ 打酱油 hah
@ anlfi shadow 是什么软件?有全称吗?
@ anlfi 加我qq235869995
@ ccc 我也想要
@ anlfi 我也想要知道shadow是什么?怎么跑出key?
@ 守望的渔夫 软件 但我没有那个NFC硬件
楼主,小心啊。。
目测设计单位是中科院
水卡 如何破解 有没有教程
离线的 你学校好屌
道明寺,你死定了!
道明寺,你死定了!
居然是离线的,离线的不用这么麻烦,先把数据复制出来,钱刷完了直接写回去就有钱了
@aaa 这个才是有实际操作经验的人啊,哈哈,随便你怎么加密什么结构,哥哥我只玩覆盖
@ aaa 怎样看卡是否是离线的?
晓美焰=。=
我是小圆啊!
联网的话你就死了
节操躺中枪····
现在不是都联网了么,即使成功,估计等晚上,每日结账的时候消费机上传数据,你就作死了吧
读卡软件叫啥??
这篇文章好熟悉,在看雪看过,在某大牛博客看过,LZ不属一下版权啊,传送门http://bobylive.com/static/1635
@Seraph 真正的post主要版权来了。。。
@ChongHom-Hu 楼主盗版可是无节操的啊
这个不会和服务器做后端校验嘛?反正我们学校每个月会把卡上的数据和服务器上的做对比,对账不平就冻结卡
@ s0ap 什么意思?
到时候一对帐就死翘翘了 我们学校以前天天晚上对账
是啊,我们也一样。。。。。。
居然还有离网的?楼主你可确定?你可知道你犯下的是什么罪?
23楼真相,博主不遵照江湖规矩
@千秋丶千年 呵呵 这是 我基友的 有何 不对请指教
@global_hacker 不认识这个家伙。。。别乱拉关系( ̄. ̄)
现在学校都有充值记录的数据库,抓住要挨打的.
@ djon 神回复
西式套餐
日韩
高端大气上档次
吊啊,就是这么吊。。玩玩而已,楼主受小弟一拜
主任,就是他,就是他盗刷的卡!!!
“水卡的成功破解”文章在哪?
@凌晨几度i http://bobylive.com/static/1493#
楼主可以准备申请主动退学了
我是来索要版权的( ̄. ̄),转发请标明出处
@bobylive 你看你图片里面的url都没给你抹掉,比某CTO强多了
啥时候把银行卡给哥破了?
我嚓,太坑了,天坑啊,B5C0C3F7CBC20000, 我以为会是作者的真实姓名呢,结果转换一看居然是“道明寺”,我了个草~~~
@Moriarty 别玩社工了大黑阔。
@ Moriarty 怎么转换的/?
槽点满满啊……这种app叫什么来着?
很屌哦
基本上这类系统都有对账系统,扣费POS机有离线与在线工作模式,离线工作模式下扣费记录在卡上,然后联网的时候pos机在同步数据库,所以只要楼主不做死在联网模式下修改,或者离线模式下的POS机不联网,那么楼主就不会被查出来,但是月底对账就可以看出蹊跷来。
我們學校是刷條碼存數據庫的
看雪老文章了。貌似当时是M1型卡,可现在还有么。生在魔都的我的学校。采用JOCP的卡怎么玩。
安恒的 大牛 你可认识 安恒 的四条龙
我会 告诉你 这是 我 认识的 1024的 大婶的 杰作吗
在法科现在听潮社区看的饭卡读取文章也有的
破解不出算法 简单的方法就是 首先你拿2张卡 一张有钱 一张没钱
有钱的这张 拿到读卡器上 读出各段数据 如LZ所发. 记录下
然后去消费 看看哪段改变了 – 就是金额的。。其他的不用改因为可能是 卡号 姓名等。
然后把 A卡 的 消费金额 备份到 B卡 (空卡)
之后B卡没钱了 仍然可以把这个值备份进去。。 虽然有些麻烦 不过也是可以 循环消费 不是么-,-
解决办法:
如 楼上 @CYSHacker 所说 由 编号ID 指向数据库 存储消费 也是不错的选择 (你可以改变ID消费别人的钱 哈哈)
你这个毫无难度,因为是离线的;我们学校所有的数据都是存储在一个不连接外网的服务器上;晚上服务器还会维护所以不能刷卡;故此,除非物理接触,或者修改卡id(如果悲剧,改到一个余额比你更少的倒霉蛋身上……),才有可能修改余额。
公交卡不可以这样改,这是忠告。
@delectate 公交卡就是离线的啊,为何不行?
@ghosttang 公交卡的那个刷卡器,每天要回去同步数据的。
@ savage 不记名的 直接保存数据 然后覆盖 不就没事了
@ delectate 神回复
百度网盘链接: http://pan.baidu.com/s/1nt3C23B 密码: 8yhy
开侨中学
开侨中学
开侨中学
开侨中学的娃娃好强,我高中的时候连手机都没有
人家学校http://www.kqzx.com.cn/
@请freebuf的海阔带队攻陷开侨中学
哎哟 我去 看尽天下AV 心中自然无码 – - 敢问是怎么看出来的 – - 我都是百度 看来你说的 中学的主页图片 才发现 是那个中学
泥马高人,老兄可以天天吃火锅了。
我是从饭卡的生厂商入手的,那是三年前的事情了!