大神论坛

找回密码
快速注册
查看: 442 | 回复: 0

[其他] 通过mitmproxy代理过滤自动修改请求response 过小程序会员验证

主题

帖子

0

积分

初入江湖

UID
647
积分
0
精华
威望
0 点
违规
大神币
68 枚
注册时间
2023-10-14 10:42
发表于 2023-11-26 11:41
本帖最后由 vlricchen 于 2023-11-26 11:41 编辑

  • 背景介绍:
  • 某小程序使用单一的请求验证用户是否是会员,但其余请求未做鉴权,使用BreakPoints修改reponse的会员项为1,小程序即可使用会员功能。现在需要对该过程实现自动化。
  • mitmproxy是开源的HTTPS代{过}{滤}理工具,并提供python API编写自动化程序。


  • 过程


    1.安装mitmproxy

pip install mitmproxy

2.安装证书
      手机访问http://mitm.it,下载安卓证书,安装证书,并通过Always Trust User Certificates等模块刷入系统。

3.程序编写

from mitmproxy import http

def response(flow: http.HTTPFlow):
if "api/user/huiyuan" in flow.request.pretty_url:
response_text = flow.response.text
modified_response_text = response_text.replace('会员": "0"', '会员": "1"')
flow.response.text = modified_response_text

代码import mitmproxy 的http,通过flow.request.pretty_url获取每次请求的url,并筛选接口,flow.response.text获取原始的response,简单.replace即可更换,并把修改后的内容重新赋值即可。

  • 全部代码
from mitmproxy import http

def response(flow: http.HTTPFlow):
if "api/user/huiyuan" in flow.request.pretty_url:
response_text = flow.response.text
print(response_text)
modified_response_text = response_text.replace('会员": "0"', '会员": "1"')
flow.response.text = modified_response_text

if __name__ == "__main__":
from mitmproxy.tools.main import mitmdump
mitmdump(['-s', __file__])


注:若转载请注明大神论坛来源(本贴地址)与作者信息。

返回顶部