android - burpsuite的安装 使用 burp suite 来抓包, 安卓开发必备。 android 7 以上都需要, root . 抓包https
访问量: 1374
参考:https://blog.csdn.net/gitchat/article/details/79168613
Burp的使用方法很简单, 运行它后,会默认打开一个代理: 127.0.0.1:8080, 然后burp会默认对所有request进行拦截。
一个例子如下:
POST /Login/chkmobile.html HTTP/1.1
Host: http://www.1.io ( here must be: http.... )
Connection: close
Content-Length: 18
Accept: application/json, text/javascript, */*; q=0.01
Origin: https://www.1.io
X-Requested-With: XMLHttpRequest
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3396.62 Safari/537.36
Content-Type: application/x-www-form-urlencoded; charset=UTF-8
Referer: https://www.1.io/Login/register.html
Accept-Encoding: gzip, deflate
Accept-Language: zh-CN,zh;q=0.9
Cookie: PHPSESSID=h4eekvepsckedp2lg3muoko4s4
mobile=18622143508
我们调整一下浏览器的代理服务器,就可以使用了。
2021-3-6 增加:
PC浏览器使用 代理访问https 切记:不要使用 omega proxy 等插件!
这样的插件会影响burp 的调试。应该把这个插件先关掉,然后手动设置代理. 然后正常的安装burp 证书
不要在omega proxy插件中进行调试,否则就算选择了 https协议,也无法使用,也不会报错! 今天这里卡了至少3个小时
在kali 下,使用firefox 的插件来快速设置代理: omega proxy
https://addons.mozilla.org/en-US/firefox/addon/switchyomega/然后,正常配置。 (默认是 127.0.0.1:8080) firefox中如下图所示
此时,只能访问http , 还不能访问https的内容,我们需要:
1. 在浏览器中打开:http://burpsuite/
2. 然后点击右上角的 CA Certificate , 记得保存到一个位置
3. 在浏览器(例如firefox ) 右上角菜单 -> preferrence -> privacy security -> certificates -> view certificates,
(对于chrome, 则需要把证书导入到 : 可信任的证书 中,不能默认双击安装)
然后点击import, 导入刚才保存的CA文件即可。
保存的时候,记得注意勾选 "trust settings"中的两个项目。
然后通过浏览器就可以访问https 内容了。
卸载证书: 删掉上面的 Port Swigger CA 就可以了。
安卓手机使用代理访问https接口
(2023.1. 或者直接使用 雷电模拟器)
跟上面方法一样, 下载对应的.der文件 , 然后保存成 .cert 文件
然后 设置 -> 系统安全 -> 凭据 -> 导入即可。
或者直接点击下载的文件,安卓就会自动安装。
对于android <= 6.0 的版本, 可以用上面的步骤。
android >= 7 开始,安卓不信任用户安装的CA文件,于是需要我们:
1. root 手机
2. 安装magic mask 软件
3. 如果该软件已经存在,就更新它(该过程不需要梯子)
4. 安装一个插件,TrustUserCert...zip 参考这里,https://blog.nviso.eu/2017/12/22/intercepting-https-traffic-from-apps-on-android-7-using-magisk-burp/
也就是说:
4.1 在手机端下载zip 文件
4.2 打开magic mask (如果已经安装了的话,就要在该页面进行升级,升级到最新版本就可以了。否则老版本有module不工作的风险) , 左侧菜单, module, 增加, 选择该 zip文件
4.3 重启手机。
4.4 正常方式安装cert 文件.
4.5 就会发现,之前出现在 用户凭据中的 cert , 现在出现在了system 凭据中。
就可以了。
IOS手机抓包:
需要ios越狱才行,而且需要安装 burp suite mobile assistant, 具体过程参考:https://portswigger.net/burp/documentation/desktop/tools/mobile-assistant
无法显示response中的中文?
右侧 User option -> 下侧 Display, 然后
1. http message display , font: 选择宋体
2. character sets, 选择 utf-8
手机无法连接代理?
proxy -> options , 编辑, interface 不要使用127.0.0.1 要手动指定ip, 或者直接 on all interfaces
获得的内容是\u0001\u2323 这样的字符串?使用插件来直接解决
1. 下载 jython.jar 文件, 例如: http://search.maven.org/remotecontent?filepath=org/python/jython-standalone/2.7.0/jython-standalone-2.7.0.jar (我是用迅雷下的,似乎直接下载有问题?)
2. 在burpsuite中加载该文件 , 主页面 -> Extender -> Options -> Python Environment -> select file, 选择上述文件.
3. 下载一个独立的文件:(参考项目 https://github.com/zhuxianjin/4json ) https://raw.githubusercontent.com/zhuxianjin/4json/master/4json.py , 并且在burpsuite中安装就可以了。
注意,安装该插件后,在 response 的raw tab中,看到的其实是 被插件转换后的内容。(\u83b7\u53d6\u6210\u5293 被转换成了中文)
对于新安装的burp, 可以使用之前安装位置的burp suite的证书
这一点很重要,因为默认 ROOT手机上的 magisk 是只能安装新的证书,不能删除老的系统证书。
如果遇到同名的 Postswigger 证书,那么新的无法安装,老的无法被替换,就导致HTTPS内容无法抓取。
所以,在新安装的 burp suite中, proxy -> options -> import CA certificate ,就可以了。记得是2个文件,一个是cert, 一个是private key. 在原来的安装应用上导出来的。具体过程略了。
这个证书应该是忽略 burp版本差异的。 也就是说不同的burp版本之间,可以共享一个证书。