本帖最后由 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__])
注:若转载请注明大神论坛来源(本贴地址)与作者信息。
|