Back

android - burpsuite的安装 使用 burp suite 来抓包, 安卓开发必备。 android 7 以上都需要, root . 抓包https

发布时间: 2018-09-29 07:22:00

参考: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版本之间,可以共享一个证书。

Back