走进科学:我是如何破解学校饭卡实现免费吃饭的

走进科学:我是如何破解学校饭卡实现免费吃饭的
本内容属于侥幸成功,如果有尝试破解成功的大神请分享你的破解绝招感觉,只要这卡破解差不多只是算法什么的,本小白不是很了解,希望大神们成功。
继上次水卡的成功破解,对学校的饭卡也有点想要研究的念头了。既然这样,打铁趁热马上开始动手,先拿出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扇区的奇怪数据

把10扇区清空,忙着生命危险跑去小卖部试了试,发现一切正常,好了,我是奇葩……

我消费了几次,拿回来之后发现,都是2扇区的扇区数据发生了变化,基本可以确定钱的数据就在2扇区,那1扇区到底是干嘛的呢?尝试清空1扇区,再去小卖部试卡,一切正常。猛然想起,学校旧的热水系统是使用饭卡的,今年更换了新系统之后才换的卡,估计1扇区就是旧热水系统的了,机器现在已经不复存在了,果断清空。


走进科学:我是如何破解学校饭卡实现免费吃饭的
清空1扇区数据
走进科学:我是如何破解学校饭卡实现免费吃饭的
清空1扇区数据

重点来看看饭卡的数据,直接用电脑的十六进制编辑器打开dump文件,就发现2扇区0段有我的名字的存在,这里是使用GBK内码保存的汉字,然后我尝试将刚刚在消费机上看到的卡号转成十六进制,在名字前不远的地方就发现了痕迹,那现在尝试下修改姓名和卡号。


走进科学:我是如何破解学校饭卡实现免费吃饭的
修改姓名
走进科学:我是如何破解学校饭卡实现免费吃饭的
修改卡号
走进科学:我是如何破解学校饭卡实现免费吃饭的
修改姓名
走进科学:我是如何破解学校饭卡实现免费吃饭的
修改卡号

抱着赴死的心再去小卖部(小卖部的阿姨已经开始注意我这个鬼鬼祟祟的小子了),在众多掩护之下拍下了这个结果图,成功了。


走进科学:我是如何破解学校饭卡实现免费吃饭的
卡号姓名修改成功
走进科学:我是如何破解学校饭卡实现免费吃饭的
卡号姓名修改成功

接下来就到了最振奋人心的修改金额了,经过前面几次消费的分析,我发现2扇区除了0段和3段之外,中间的两段数据都是发生了改变,并且每次都只有其中一行发生改变,这个问题困扰了我将近一天时间,最后在某个时刻茅塞顿开,终于想明白了。卡中的两字节数据变化,泄露了这两行数据的用途。


走进科学:我是如何破解学校饭卡实现免费吃饭的
仔细看看数值
走进科学:我是如何破解学校饭卡实现免费吃饭的
仔细看看数值

01BF和01BE不刚刚好相差1吗?于是去小卖部多消费了几次,再结合之前充值的几次记录,终于发现,这个值每交易一次就会加1。这应该就是交易的次数记录了,问同学借了一张刚刚充值过的卡,发现不管是充值还是消费在这里都记录了最近两次的消费记录,并且第一行是记录奇数次的,第二行是记录偶数次的,这也就造成了之前为什么变化的位置不通。知道这个规矩之后后面的工作就简单得多了,每一行肯定是代表了一次消费记录,其他数据干什么用对于我们的分析也不会造成太大的干扰。


走进科学:我是如何破解学校饭卡实现免费吃饭的

走进科学:我是如何破解学校饭卡实现免费吃饭的

将我现在饭卡的余额转换成十六进制,马上就发现了前8位就是记录了这次交易后的余额,紧接着的就是这次的交易的金额,再接着就是消费次数,后面还有很长一段数据应该是消费机的编号了(这个会在后续继续破解,目前暂时没有头绪),尝试着将饭卡按这个规律计算了一次,将卡修改成一百多块钱,结果如下图。


走进科学:我是如何破解学校饭卡实现免费吃饭的
计算好的饭卡
走进科学:我是如何破解学校饭卡实现免费吃饭的
计算好的饭卡

一切弄好之后写入到新卡,拿去测试,一切正常,使用非常完好,到此为止饭卡也被全部破解了。改个强悍点的数值看一看。


走进科学:我是如何破解学校饭卡实现免费吃饭的
破解成功
走进科学:我是如何破解学校饭卡实现免费吃饭的
破解成功

此次破解总耗时接近7天,而且还有一些隐晦数据没有清楚用途,后期继续进行研究。

本文网络安全相关术语:网络安全工程师 网络信息安全 网络安全技术 网络安全知识

主题: 数据算法消费其实数据分析
分页:12
转载请注明
本文标题:走进科学:我是如何破解学校饭卡实现免费吃饭的
本站链接:http://www.codesec.net/view/57887.html
分享请点击:


1.凡CodeSecTeam转载的文章,均出自其它媒体或其他官网介绍,目的在于传递更多的信息,并不代表本站赞同其观点和其真实性负责;
2.转载的文章仅代表原创作者观点,与本站无关。其原创性以及文中陈述文字和内容未经本站证实,本站对该文以及其中全部或者部分内容、文字的真实性、完整性、及时性,不作出任何保证或承若;
3.如本站转载稿涉及版权等问题,请作者及时联系本站,我们会及时处理。
登录后可拥有收藏文章、关注作者等权限...
技术大类 技术大类 | 网络安全 | 评论(0) | 阅读(330)