安卓、小程序使用代理软件抓包的方式(仅介绍方案,非操作教程)

如果是自己公司内部APP测试很简单,让开发打测试包的时候把接口地址都用http的,现在https在安卓上不太好抓包。常规抓包的核心就是使用代理,不管是电脑浏览器抓包还是安卓、ios都一样(wireshark这种数据包抓包暂且忽略)。先说说我常用的抓包代理(处理)相关软件吧,至少用在公司自有产品上是完全够用了!

一、burpsuite

这款软件之前我用的很多,请求拦截、请求重放、响应包替换,以及bp强大的插件功能(有技术的朋友还可以自己写插件);据悉这款工具在渗透测试中使用的比较多,搭配一些插件及扫描器实现接口自动扫描、越权检测、安卓插hook桩等功能。这款软件现在用的比较少了,一般是用安卓模拟器的时候才会用它。

二、fiddler

这款软件,最早用的时候没用几分钟就放弃了,觉得用起来没用burpsuite顺手,后来因为fiddler全局抓包能抓到一些无法设置代理的软件的接口包,就“迫不得已”用了一段时间,后来用习惯了发现还挺不错,最近用的也比较多。

比较从常用的功能有,请求及响应的拦截、修改、备注标记;请求转发(url转发、域名端口转发);还支持上级代理、并发请求模拟、弱网模拟、响应替换;也支持写自定义的处理脚本。如果是测试联调,还可以使用它的会话保存及导出导入功能,所有请求的详细过程就可以发给其他开发查看。

之前因为windows版微信限制,其他代理软件无法抓包电脑上微信小程序时,这个软件可以抓包微信小程序。

三、mitmproxy

这个软件适合对接口进行个性化的处理,一般不用它的可视化抓包界面,主要用python代码来实现接口操作,比如可以实现将所有接口地址、请求内容等存入数据库,或者对接口进行mock处理。当然如果是做安全研究的也可以对一些加密验签的接口进行重新签名,利用burpsuite、fiddler等代理软件的上级代理功能,实现透明修改请求参数后,mitmproxy自动重新无感签名的功能。

四、安卓上的Postern及Proxy Droid(可能需要root)

Postern是以建立vpn的方式实现全局代理转发,如果你在安卓上试了其他软件无法抓包可以试下它。大家都知道安卓上如果要配置代理服务器,一般是在网络连接里面编辑wifi或APN来实现,但是假设是安卓开发板尤其是通过网线端口接入网络的可能就找不到设置代理ip服务器的地方了,这个时候在安卓上安装Postern就实现将请求转发到代理ip服务器了,Postern的开启、关闭方式我个人觉得用的不太方便,记住如果安卓右上角顶部状态栏有个钥匙图标说明vpn代理已经打开了,代理规则建议只保留一个,如果没搞懂Postern的代理规则很可能请求直接被默认的规则直连放行了。

ProxyDroid也可以试试,不再介绍。

五、window上的HTTPDebugger及Proxifier

有一段时间HTTPDebugger抓包电脑上微信小程序特别好用。但是现在主要还是用Proxifier+burpsuite/fiddler来抓包电脑上的微信小程序。Proxifier这个做代理转发是真不错!

安卓抓包:

1、安卓低于7.0的系统版本(现在很少见了,部分安卓模拟器或老爷智能机上可能还有这种低版本的安卓)只需要按照相关代理抓包软件的教程去添加信任证书即可抓包https

2、安卓大于7.0的系统想要抓包https需要手机root权限,通过adb方式挂载读写目录并进行信任证书的安装,信任证书还需要电脑有openssl程序来生成,总之比较麻烦而且只建议在安卓模拟器上去用!

3、为什么抓不到安卓包?在我们解决了代理软件https证书问题后发现有的app可以抓到https的包有的不可以,这其实跟被抓包app的安全限制有关。比如网易新闻,可能还需要先安装Xposed框架及该框架下的 SSLUnpinning插件模块才能绕过证书校验;如果遇到抖音这种可能使用了改编的证书校验函数或实现方式就直接劝退了,网上也有一些大神写了反汇编/hook方式绕过抖音证书校验的文章,有兴趣的话只能自己去研究了。当然APP防抓包的手段还有很多别的手段,比如利用一些代理软件如果使用默认配置会在每个请求中加入一些特定字符从而被APP识别;或者是尝试访问一些代理软件的默认证书下载地址如果有响应也会被判断为在代理环境……

小程序抓包:

小程序抓包建议使用Proxifier+http(s)代理软件。windows上的微信客户端程序可以不用那么新,不确定哪一天微信客户端一升级就不能用了;当然如果是公司内测小程序还是建议添加个开发者账号来真机测试。

后记

现在安卓反编译解析伪代码、微信小程序反编译(支持分包小程序)的教程网上也是比较多的,总之前端不管是APP还是小程序它们的安全性并没有想象中的那么高,尤其是现在很多公司也没有在安全加固等方面投入相关的预算!那么只能靠后端做好安全措施了(遗憾的是,大部分公司在服务器等安全方面也没有投入……),在这种现状下记住前端的不可信任性是很有必要的!


当然了,国家是有制定相关法律法规的。突然想到关于某互联网公司的两个旧闻,“天才黑客,因拒绝做黑客攻击业务,被强行辞退”以及“知名互联网厂商通过挖掘安卓厂商OEM代码中的反序列化漏洞攻击用户手机”。出来混,迟早是要还的……扯得有点远了,希望各位看官对安卓及小程序上的抓包方式已经有了清晰的认识了。

基于互联网精神,在注明出处的前提下本站文章可自由转载!

本文链接:https://ranjuan.cn/android-mini-proxy-software/

赞赏

微信赞赏支付宝赞赏

记录mysql执行过的所有sql语句
python-anaconda-environments
mac-shiro550-attack