绕过只能投币的电动车充电桩?

充电桩无法线上支付

经王某人叙述,这个充电桩只能投币使用

YVBGJB{J(~M9VCG}(72I}HG.png

扫一下
PS:还有来历不明的二维码不要乱扫。

假如我作为一名攻击者我完全可以做一个一模一样的充电桩网页,来钓鱼Wechat用户的敏感信息,或者直接转钱。所以在扫码之前最好是用解码器解码一下,并且检查原始二维码是否被覆盖

Wechat

直接抓包

CP)D3Q$CJE[85FQGOJW0NE9_tmb.jpg

响应了一个钱包目录
JDS2(OGA%0S1SJF(8JGBZQM.png

直接改成99999999

E~G`L)W@TP76[0T_BLP4C9S.png

现在可以

W~6_PW_N@K)9[57N@1JH}S0.jpg

进去咯

501C655ACA458D2A6A1E8E46B5190D81.jpg

发现无法支付…

发现一个信息泄露接口

image.png
换一个设备看看…
image.png

响应:

image.png
emmm,这也许是一个选套餐的

进入支付页面:

image.png

image.png

响应包:

6VZ($78$20C9[8LK}62J1.png

订单号生成了
换成之前那个无法支付的机子试试…
首先获取套餐id
image.png
image.png
响应包:
image.png

下个单

image.png
image.png
响应包:下成功了
image.png

emmm…也许某个数据缺失?导致313机子无法支付?抓两个设备支付数据包进行对比…
在支付响应包中发现缺少了paytypes参数…
image.png

经过重新实验,发现的确如此

mitmproxy构造EXP

让手机代理连接到我们电脑,这样自动实现绕过…
CA证书搞一下,改https数据

import json
from mitmproxy import http

paytypes_json = '''
[
    {
        "type": "online",
        "icon": "",
        "name": "微信支付",
        "desc": ""
    },
    {
        "type": "union",
        "icon": "",
        "name": "云闪付",
        "desc": ""
    }
]
'''
def response(flow: http.HTTPFlow) -> None:
    if "application/json" in flow.response.headers.get("content-type", ""):
        try:
            response_data = flow.response.get_text()
            content = response_data.replace('"balance":"0.00"', '"balance":"已破解"').replace('"coin":"0.00"', '"coin":"已破解"')
            content = content.replace('"paytypes":[]', f'"paytypes": {paytypes_json}')
            flow.response.set_text(content)
        except json.JSONDecodeError:
            pass

image.png

详细获取CA证书参考官方文档
手机安装一下CA证书
选wifi

image.png

导入

image.png

wifi设置电脑端代理

CB4D3BBB2C6028ED0D19E707A0E09C16.jpg

打开小程序直接就可下单咯

image.png

image.png

image.png

总结

–这里0元支付是不存在的,这个开发者有一点苟,支付的时候是以商品日期加时间戳作为id的,而且这个订单费用是在服务端一一对应的,也就是最后交易只看订单号所对于的套餐价格

–到这里你可能会说要是商品高价买低价对调订单号会怎样?答案是不起作用。如果A充电桩买了10元套餐生成订单编号A1,B充电桩买了20元套餐生成订单编号B2.支付的时候若B2替换成A1,那么支付的将是A充电桩的A1订单。其实这里就可以进行劫持操作了,替换一下订单,受害者根本不知道支付的是哪一台充电桩

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值