破解实验室刷卡系统

2016/12/14 secure 微信

故事

实验室的签到要求,每天我们需要签到6次,对于一个刚上研究生十分不适应这样的环境的背景下,于是开始研究这个刷卡系统怎么做的,一不小心一下子就看破了这个系统,于是给自己留了个后门,万一有一次忘了刷卡就可以远程签到啦。虽然我们研一还不需要打卡。

分析

那个系统真的是很简单的制作,可能是网络中心想的太简单吧。相信只要稍微懂一点网络通讯的都可以看懂。直接post一个id过去就好啦,其他参数都不检查,稍微懂点网络通讯的或者前台的人就可以看出来他的技术(后来发现网络中心进行地点验证是利用ip的,所以必须要在那台机器上做个代理或者直接用那个机器作为服务器。我选择了后者)。

开始破解

  • 直接在本机上发送post请求,发现不行,原来还有ip限制,于是在刷卡机器上进行测试,还是不行。后来查看代码,发现其header请求中需要说明接收语言:zh。这个蛋疼的限制找了好久才发现的,他们的后台不知道用什么写的,这个简直不科学。

  • 用jersey2.0写了api,可以远程调用,部署在tomcat容器中,后台运行。安静地悄悄的运行。在我的个人服务器上写了前端和调用程序的后端。由于实验室的机器值教育网,所以手机不能访问,于是在我的申请的服务器(教育网、联通双线路)上进行了前台部署,这样子后台可以调用刷卡机器的api,而手机又可以访问。轻松的搞定一件签到系统。

  • 后来又增加了cookie,一次输入,终身有效~哈哈哈哈哈

后续更新

有一天,接了一个微信的活,于是研究了几天的微信api,就自己制作了一个自己的公众号。这个过程真是千辛万苦(吐槽一下国内的备案这个事)。

使用了一个国产的图灵机器人作为主要的智能回答api(传送门)。并自己写程序嵌入增加了自己的指令(签到,绑定微信等)。在自己的腾讯云服务器上部署了微信的后台,数据库也在腾讯云上。实现绑定功能是为了让用户不用自己每次输入卡号,只需要输入“签到”就可以了,随时随地签到,是不是很方便!

预览

在线展示

开发了微信功能后就关闭了在线展示

微信展示

扫描如下二维码关注公众号即可体验。

我的微信公众号

支持

如果你喜欢~

扫一扫!

Search

    Post Directory