网络信息安全学习平台---解密关第5题

网络信息安全学习平台网址:http://hackinglab.cn/
题目
小明特别喜欢泡网吧,而这个月小明拿到了他第一个月的薪水,于是这次到了他平时最常去的网吧充了100元办理了一张会员卡,于是乎小明再也不用花钱上网了。
根据题目描述,小明的上网卡错了一位
首先将当下的数据不做改动,进行刷卡,显示卡片异常。说明,卡片的头信息错误。一般的卡片的头信息应该是前8~16个字节。
头信息应该有个开始和结束标准信息。此卡的头信息如下图:

首先以8个字节为基础进行测试,当初认为是第9个字节8A出错,将8A换成AA进行刷卡,显示卡异常。根据经验,AA是特殊字符,不应该是标志位。
所以把第一个字节的AA换成8A,结果显示如下图:

说明,头信息已正确,继续观察数据,发现从60h位置以后的数据均是一至的,猜测,以下数据均为无用数据或干扰数据
将以下所有数据全部换成00,进行刷卡,结果发现正常读卡。以此各方法继续去除干扰数据,最后剩余以下有用数据,如图

经过对以下不为00的数据进行多次修改,发现影响数据的数据为10 27 ,并且前面的10 27 和 后面的10 27数据要一至,也就是说,前面的10 27 如果
改成00 10 后面的也要改成 00 10 。
经过多次修改确认,这两个字节的数字是金额数字,面最后的37,应该是一个参数(具体情况不清楚,只要修改就会出错)
进一步测试发现,10这个字错影响的是小数位,比如说 01,代表的是0.01,02代表的是0.02 这个数字会和27这个字节数据的运算结果相加。
比如说,我把10 27 改成 00 01 那金额就是2.56 如果改成 01 01 金额变成了2.57 那现在就好办了。
后一个01是2.56 我改成 02 那金额就变成了 5.12 说明什么?地球人都知道:)
现在要把金额改成200 ,那就拿200除以2.56 结果是78.125,OK,78的16进制是4E,先把27改成4E
刷卡:

现在再修改小数位,小数位还差0.32元,根据前面的分析 01 就是0.01那0.32就是32倍。OK,32的16进度是20,所以把10改成20

看看,KEY出来了吧,小伙伴们,赶快试试吧:)
尼玛,整整花了我一晚上+一个早上(晚上睡不着,早上5点多起来搞定它)
  • 3
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值