小程序抓包|Clash与mitmdump自动化加解密实践

admin 2024年11月20日15:15:10评论80 views字数 1893阅读6分18秒阅读模式

      本文讨论了小程序自动化加解密中的应用。作者首先指出使用proxifier+burpsuite在自动化加解密中遇到的问题,并推荐使用Clash作为代理工具。文章详细介绍了如何创建Clash配置文件。接着,作者介绍了使用mitmdump进行数据处理的方法,通过编写脚本实现burp明文改包和自动加密解密。

文章已同步入库,可登录平台查看

小程序抓包|Clash与mitmdump自动化加解密实践

01

全局代理工具

如何选择

小程序抓包|Clash与mitmdump自动化加解密实践

        我们常用的小程序抓包方法就是proxifier+burpsuite,但是在实现自动化加解密中,经过尝试未能成功。 

使用proxifier的代理的显示如下: 

小程序抓包|Clash与mitmdump自动化加解密实践

        此处控制台上看似无误,却发现无法通过Burp Suite捕捉到请求包,这说明代理设置可能存在问题。尝试使用操作系统内置的代理功能,我们能够成功在Burp中查看请求包。然而,这种方法会导致所有数据包被代理,从而干扰测试流程。因此,选择使用Clash作为代理工具。想要了解更多关于Clash抓包的细节,请参考之前发布的文章。

小程序抓包|Clash与mitmdump自动化加解密实践

告别Proxifer微信抓包,给我用Clash!!

首先创建一个clash的配置文件my_clash.yaml

proxies:
- name: Whistle
type: http
server: 127.0.0.1
port: 8989
proxy-groups:
- name: Proxy
proxies:
- Whistle
type: select
rules:
- PROCESS-NAME,WeChatAppEx.exe,Whistle
- PROCESS-NAME,WeChat.exe,Whistle
- PROCESS-NAME,WechatBrowser.exe,Whistle
- MATCH,DIRECT

        如果还需要抓其他程序的数据包,只需要在rules中添加即可,这同我们设置proxifier是一致的。

接下来进行导入: 

选择配置、导入、导入我们的yaml文件 

点击主页服务模式的管理按钮 

小程序抓包|Clash与mitmdump自动化加解密实践

点击安装即可,使用的时候在配置界面选择我们的配置 

小程序抓包|Clash与mitmdump自动化加解密实践

主页按照下面的配置即可

小程序抓包|Clash与mitmdump自动化加解密实践

此时数据包就可以通过我们的burp了

02

数据流

走向逻辑

小程序抓包|Clash与mitmdump自动化加解密实践
小程序抓包|Clash与mitmdump自动化加解密实践

03

使用mitmdump

进行数据处理

小程序抓包|Clash与mitmdump自动化加解密实践

        mitmdump是mitmproxy的命令行版本,这里使用mitmproxy会有一个问题,就是流量可以通过mitmproxy,但是并不能经过我们定义的request钩子函数,使用mitmdump可以完美解决。

demo示例: 

不理解demo可参考之前发布的文章

小程序抓包|Clash与mitmdump自动化加解密实践

漏洞挖掘JS逆向-Burp自动化加密

import execjs
import binascii
import hashlib
from mitmproxy import http
from urllib3 import request
import json
import re
import pydevd_pycharm

def request( flow: http.HTTPFlow) -> None:
print(flow.request.url)
if flow.request.method == "POST":
body = flow.request.text # 获取burp过来的数据包body
# 对明文body进行处理
body_encrypt(xx)
new_body = decdata.decode('utf-8')
#替换处理后的body进去
flow.request.text = new_body

小程序抓包|Clash与mitmdump自动化加解密实践

脚本启动前,burp抓到的数据包格式如下: 

小程序抓包|Clash与mitmdump自动化加解密实践

脚本启动后结果,即可在burp明文改包(该明文包需要先获取到,可以通过断点或全局hook获取)

小程序抓包|Clash与mitmdump自动化加解密实践

执行命令 

mitmdump --mode upstream:http://127.0.0.1:8080 -v -s req.py --listen-port 8989 --ssl-insecure

即可在控制台看到通过加密出去的数据流,即实现了burp明文改包,自动加密 

小程序抓包|Clash与mitmdump自动化加解密实践

        解密同理,再写一个解密脚本使用mitmdump对返回数据包进行处理,这里不再赘述。但不建议这么做,解密的话,在控制台下个断点,直接解密起来应该更快。自动加解密适合多套都是用相同的加解密时去写脚本处理,如金融、运营商、能源等行业的局部地方,不需要复用的反倒直接调试断点效率更高些。 

生活笔记

      每个人都是一束孤独的光,人们在思索的流浪中,仿佛都在轮回

早晨就像一个纠正器,无论你昨天经历什么样的压力、怨恨、彷徨,睁开眼后,晨曦静好,重新出发

              小程序抓包|Clash与mitmdump自动化加解密实践小程序抓包|Clash与mitmdump自动化加解密实践

小程序抓包|Clash与mitmdump自动化加解密实践

点个 「在看」 你最好看

小程序抓包|Clash与mitmdump自动化加解密实践

原文始发于微信公众号(长风安全):小程序抓包|Clash与mitmdump自动化加解密实践

免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2024年11月20日15:15:10
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   小程序抓包|Clash与mitmdump自动化加解密实践https://cn-sec.com/archives/3411300.html
                  免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉.

发表评论

匿名网友 填写信息