Https抓包总结

使用抓包工具burpsuite、fiddler等进行抓包,方法和原理类似,下面一burpsuite为例,https通信时,客户端需要获取服务器的证书进行验证,直接使用burpsuite抓取https的请求,会出现ssl协商错误。因为在抓包工具抓包过程中,抓包工具是作为一个中间人进行数据包拦截和转发,当进行https请求时,需要服务器的证书验证通过才能信任,同时正文的解密密钥也是通过证书来协商的,而burpsuite没有证书,无法被浏览器信任,导致请求无法正常完成,因此需要导入burpsuite的证书到浏览器,让其信任burpsuite

电脑端浏览器抓包

  1. 开启burpsuite代理proxy,option
    在这里插入图片描述
  2. 将浏览器代理设置为上述ip和端口
    在这里插入图片描述
  3. 在浏览器中输入ip:端口,进入burpsuite证书下载界面,下载证书,然后安装证书
    在这里插入图片描述
  4. 开始抓https包:
    在这里插入图片描述

Android的https数据包抓取

安卓端同样可以采取上述的方法进行抓包,下载证书导入到手机中安装,将wifi代理设置为burpsuite中设置的ip和端口。

但是Android端有很多问题,在安卓6.0之前,应用默认是信任系统和用户的证书的,可以使用上述的方法,但是在7.0之后,默认是不信任用户证书。

Android7.0之后抓https包(已经root)

  1. 首先查看app是否信任系统证书。用apktool解包,找到network_cerxxx.xml文件,里面会写明所信任的对象,包括system和user。
  2. 如果只信任系统证书,那么我们可以将下载好的证书导入到系统目录下/system/ect/security/cacerts。系统证书的格式为hash.0,所以需要按这个格式修改证书。
  3. 如果下载的证书是pem格式:
openssl x509 -inform PEM -subject_hash_old -in PortSwiggerCA.pem | head -1

如果der格式:

openssl x509 -inform DER -subject_hash -in PortSwiggerCA.der | head -1

使用以上命令可以计算证书hash。

  1. 将证书放到指定目录下,然后重启:
> adb mount
> adb push xxxxx.0 /system/etc/security/cacerts
> adb remount
> adb reboot

将证书导入后即可抓去https包

Android7.0及以上,自定义的证书验证的https包抓取

这种情况就是应用开发者自己定义了证书验证方法

X509TrustManager.checkServerTrusted(X509Certificate[] chain, String authType) throws CertificateException {
//verify cert
			}

该应用及不信任系统证书也不信任用户证书。这时只能通过hook checkServerTrusted方法。
使用frida hook上述方法,直接返回,不做任何认证即可抓去https包。

  1. 使用jd-gui打开目标apk(自行百度如何将apk转为jar),全局搜索X509TrustManage做验证的地方,也就是checkServerTrusted实现的地方。
  2. 然后编写Frida注入的js脚本:
var hook = Java.use('xxxx') //xxx为checkServerTrusted所在的类名全称
hook.checkServerTrusted.overload('Lxxxxx', 'java.lang.String').implement(arg1, arg2) =
{
   return;
} 
//L后的xxx为X509Certificate类名全称

不会hook可以百度如何ook android app,之后会写blog介绍如何hook。

  1. 开启frida hook程序,打开应用开始抓包。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
HTTP/HTTPS协议分析工具(Http Analyzer)7.5.3.455 汉化特别版 HTTP Analyzer 分两部份,可以集成在IE浏览器中抓包,也可以单独的安装应用程序的包,非常实用。 压缩包内有注册机,大家根据需要选择相应的产品获取注册码。 这是一款实时分析 HTTP/HTTPS 数据流的工具。它可以实时捕捉HTTP/HTTPS 协议数据,可以显示许多信息(包括:文件头、内容、Cookie、查询字符窜、提交的数据、重定向的url地址),可以提供缓冲区信息、清理对话内容、HTTP状态信息和其他过滤选项。同时还是一个非常有用的分析、调试和诊断的开发工具。 Http Analyzer是一个HTTP/HTTPS协议分析工具,用此工具可以非常快速的分析出绝大多数视频博客的视频地址。尽管有一些网站提供了诸如 YouTube ,Google Video 等视频网站的php解码程序,不过那些php程序并不是通用的。当博客视频网站对视频地址加密算法做些变动时,php程序又需要大规模改动才能对应解码。 使用类似Http Analyzer协议分析工具就不同了,所有的博客视频都是http方式提供的,最终的http路径是肯定要明文出现的,所以获取此路径是可能的。 HTTP/HTTPS协议分析工具(Http Analyzer)使用方法 第一步:设置好Http Analyzer的过滤器选项大部分的视频博客的Type都是 video/flv ,video/x-flv ,application/octet-stream 极少部分采用application/x-shockwave-flash 或干脆不表明类型。http的返回结果肯定是2XX,所以在Result 要设置成<300。返回的Size最好采用倒序排列,视频博客的大小一般比较大,倒序容易发现。 第二步:运行Http Analyzer:(点击工具栏第一个绿色箭头图标)打开YouTube 或6rooms视频博客网站。回到Http Analyzer窗口,看你需要的视频地址是不是老老实实的呆在里面呢?
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值