Python爆破校园饮水机系统,喝水还要花钱?不存…

2018-06-22 00:51:08来源:未知 阅读 ()

新老客户大回馈,云服务器低至5折

Python爆破校园饮水机系统,喝水还要花钱?不存在的,免费饮水!

 

论述:此教程只做技术交流,切勿用于其它相关用途。

本人所读大学是那种环境措施等都比较好的,毕竟学费也很贵的,至于相关名称我就不说了。记得大一的时候我们还是在宿舍刷卡饮水,后面有人大量在某宝买卡后,厂家不得不采取相关措施。最后改成了用蓝牙连接,下载APP充值饮水的这么个流程。

Python爆破校园饮水机系统,喝水还要花钱?不存在的,免费饮水!

 

虽然此教程有点属于Python黑客性质,但方法无非都是抓包,与Python知识的应用。

Python爆破校园饮水机系统,喝水还要花钱?不存在的,免费饮水!

 

此Python黑客教程分为三个相关步骤

1、利用fd分析与实战

要实现欲达到的功能,必须要先了解它的APP吧?app主界面:

Python爆破校园饮水机系统,喝水还要花钱?不存在的,免费饮水!

 

逻辑步骤:

  1. 打开app后用手机蓝牙功能与饮水机连接。
  2. 如果余额大于10则先转10块余额到预扣款里,如果小于10则全部扣除。(每个地方的都会有所差异,具体看实际情况)
  3. 饮水机上显示10元,也就是你的预扣款为10,饮水机自动出水。
  4. 饮水机上的金额随着用水量增加而自动减少
  5. 结束用水,饮水机上显示的金额就是所剩余额,将返还给APP内

然后我们接着利用fiddler抓取手机app向服务器的HTTP请求内容,抓包。

app启动时的HTTP数据请求如下所示:

Python爆破校园饮水机系统,喝水还要花钱?不存在的,免费饮水!

 

想要知道这些请求都是做什么的,可以看网站的响应内容,或者请求的get请求的内容以及post请求的内容,由图中fiddler右下角的“Message=未发现版本”能够知道http请求应该是检查更新的请求。

很多利用“fiddler”都是改金额,用水让它的金额发生改变试试。

先按“点击开始用水”按钮

app截图:

Python爆破校园饮水机系统,喝水还要花钱?不存在的,免费饮水!

 

fiddler的http请求

Python爆破校园饮水机系统,喝水还要花钱?不存在的,免费饮水!

 

app内余额6<10,所以全部转到了预扣款里,饮水机上显示余额为6.00元,由上图可以知fiddler的http请求一共有4个,而且我们可以看出http请求没有与服务器发生有关金额的信息交互。红色标记“00A3AAAF”是这次交易的订单号,这个是关键点。

关键步骤,结束用水让APP退还所用余额。

app截图

Python爆破校园饮水机系统,喝水还要花钱?不存在的,免费饮水!

 

fiddler抓取到的金额数据:

Python爆破校园饮水机系统,喝水还要花钱?不存在的,免费饮水!

 

前面用红色标记起来的订单号在结账返还金额的时候用到了,别去修改它。bal的值很明显为退还金额值,可以把它改为预扣款金额6,接着就会成功退还预扣款!有多少次http请求返回的余额,就修改几次。

点击“确认结账”按钮刷新,余额就能变回6元。

2、Python&burp搭建代理服务器

fiddler虽然可以利用漏洞,但每次都要手动去修改,用Python写个自动化Exp脚本会方便很多。

Python爆破校园饮水机系统,喝水还要花钱?不存在的,免费饮水!

 

Python爆破校园饮水机系统,喝水还要花钱?不存在的,免费饮水!

 

Python爆破校园饮水机系统,喝水还要花钱?不存在的,免费饮水!

 

设置好burpsuite后,运行Python代码实现代理服务。

3、Python实现自动化exp

将Python代码改成app的漏洞利用工具。

Python爆破校园饮水机系统,喝水还要花钱?不存在的,免费饮水!

 

Python爆破校园饮水机系统,喝水还要花钱?不存在的,免费饮水!

 

Python爆破校园饮水机系统,喝水还要花钱?不存在的,免费饮水!

 

Python代码如图所示

Python爆破校园饮水机系统,喝水还要花钱?不存在的,免费饮水!

 

订单号包含在URL中,非常方便。

Python爆破校园饮水机系统,喝水还要花钱?不存在的,免费饮水!

 

header请求头的使用

Python爆破校园饮水机系统,喝水还要花钱?不存在的,免费饮水!

 

有了凭证后,就非常容易实现欲达到的效果了

Python爆破校园饮水机系统,喝水还要花钱?不存在的,免费饮水!

 

Python爆破校园饮水机系统,喝水还要花钱?不存在的,免费饮水!

 

服务器返回的是json形式,那么用Python的eval,获取对应键值即可。

接着执行欺骗,“结账”请求:

Python爆破校园饮水机系统,喝水还要花钱?不存在的,免费饮水!

 

结论

这个教程必须要对此APP有所了解,并且有Python基础的的才能够看得懂,这是唯一的遗憾了。

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:Flask学习-Flask app接受第一个HTTP请求

下一篇:你知道哪些程序员的梗