美文网首页程序员码农的世界python热爱者
Python爆破校园饮水机系统,喝水还要花钱?不存在的,免费饮水

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

作者: Python新世界 | 来源:发表于2018-07-19 15:37 被阅读80次
    Python爆破校园饮水机系统,喝水还要花钱?不存在的,免费饮水!

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

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


    大鱼广告.JPG 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基础的的才能够看得懂,这是唯一的遗憾了。

    相关文章

      网友评论

        本文标题:Python爆破校园饮水机系统,喝水还要花钱?不存在的,免费饮水

        本文链接:https://www.haomeiwen.com/subject/vqutmftx.html