安卓 https 证书校验和绕过

这篇具有很好参考价值的文章主要介绍了安卓 https 证书校验和绕过。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

吕元江,2019年1月加入去哪儿网,现负责app的分析和设备指纹反爬事项,对app脱壳,java/nativec层加解密算法分析还原有丰富经验。

1. 背景

在分析 app 协议时经常碰到由于证书校验而导致无法正常抓取 https 协议的情况,本文主要介绍证书校验检测的时机和原理,以及如何绕过检测和绕过的原理。安全防范方面,开发者又该如何应对以及如何检测,同破解方进行对抗。

1.1 在安卓上实现 https 方式的方法有哪些

A)Apache 的 HttpClient 类

B)HttpsURLConnection 类

C)后续将以第三方库 OkHttp 为例(或其他第三方库 Xutils,HttpClientAndroidLib)

1.2 各自的证书校验方式?

1.根据 app 内置证书 KeyStore 生成 TrustManager 验证

2.自定义 SSLSocketFactory(org.apache.http.conn.ssl.SSLSocketFactory)实现 TrustManager 验证策略(httpClient)

3.自定义SSLSocketFactory(javax.net.ssl.SSLSocketFactory)实现TrustManager 验证策略(HttpsURLConnection,OkHttp3)

4.自定义的 HostnameVerifier 和 X509TrustManager 实现验证

5.第三方库中的验证,如 OkHttp3 中的 CertificatePinner(证书锁定)

6.WebView 加载 Https 页面时证书校验出错,停止加载

下图为目前比较常见的实现 https 类的各自证书验证的方式:

下图为 JSSE 的参考手册提供的与描述证书验证相关的一些类之间的关系示意图。文章来源地址https://www.toymoban.com/news/detail-453487.html

到了这里,关于安卓 https 证书校验和绕过的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【Android安全】安装mitmproxy Https抓包证书 | 安卓SSL抓包

    macbook上 mitmproxy 抓取安卓手机https流量 重点是安装mitmproxy Https抓包证书 手机需要root,macbook上需要安装好mitmproxy 需要完成下文1-3: https://github.com/doug-leith/cydia (接入有线网并开启无线热点) 启用 IP 转发: sudo sysctl -w net.inet.ip.forwarding=1 保存文件: https://github.com/doug-leith/cy

    2024年01月22日
    浏览(42)
  • 安卓Android_手机安装burp的https_CA证书

    安卓Android_手机安装burp的https_CA证书 1 打卡电脑wif热点,手机连上电脑的热点 2 burp点击 --》 Proxy settings 3 点击add —》新增代理地址和端口 4 设置好-展示 5 手机连上电脑的wifi热点 6 点击查看ip地址与burp 代理的地址是否同一个网段,不一个网段重设burp的代理地址 7 常按网络–

    2024年04月23日
    浏览(42)
  • 请求https报错证书校验失败(javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: PKIX

    项目中请求第三方https的URL,报错ssl证书校验失败 ssl校验失败有两种可能,一种是服务端ssl证书配置错误,一种是客户端请求的是非信任的https地址,客户端不信任该https的ssl证书。怀疑是使用了自签名证书,非各大厂提供签名证书 该问题有两种请求方案 手动下载ssl证书 (

    2024年02月03日
    浏览(68)
  • uniapp运行到IOS真机提示 错误:请查看是否设备未加入到证书列表或者确认证书类型是否匹配

    最新版本的HBuilderX开发工具,uniapp ios 运行到真机 提示: 错误:请查看是否设备未加入到证书列表或者确认证书类型是否匹配 ios开发描述文件必须绑定调试设备,只有授权的设备才可以直接安装基座,所以在申请开发描述文件之前,先添加调试的IOS设备。 前往网站https://dev

    2024年02月13日
    浏览(43)
  • [CSCCTF 2019 Qual]FlaskLight 过滤 url_for globals 绕过globals过滤

    目录 subprocess.Popen FILE warnings.catch_warnings site._Printer 这题很明显就是 SSTI了 源代码 我们试试看 {{7*7}} 然后我们就开始吧 原本我的想法是直接{{url_for.__globals__}} 但是回显是直接500 猜测过滤 我们正常来吧 这里我们需要 os 来调用 但是这里存在一个类 可以不需要os Python3 subprocess

    2024年02月07日
    浏览(38)
  • Windows server2019 证书服务搭建

    主机1:为主域 ,证书服务器,域名为netskills.net  主机2:配置web服务器,创建sec.netskills.net站点,主目录为C:sec_root,默认文档:sec.htm,主页显示内容为“人人皆可成才、人人尽展其才”,通过加密认证方式访问该网站,其中CA证书从云主机1获取,并且创建证书申请时,证书

    2024年02月10日
    浏览(41)
  • ssl单向证书和双向证书校验测试及搭建流程

    首先了解下HTTP和HTTPS的区别: HTTPS与HTTP有什么不同? HTTP是过去很长一段时间我们经常用到的一种传输协议。HTTP协议传输的数据都是未加密的,这就意味着用户填写的密码、账号、交易记录等机密信息都是明文,随时可能被泄露、窃取、篡改,从而被黑客加以利用,因此使用

    2024年02月13日
    浏览(33)
  • Windows server 2019搭建证书服务器

    1、安装服务 2、选择角色服务 3、配置CA服务器 指定凭据 选择要配置的角色服务 选择CA的设置类型 指定CA类型 指定私钥类型 指定证书有效期 确认整体配置,确认后就可以开始配置我们的CA服务器 4、配置完成后,申请证书,打开IIS(里面会有自动安装的一个申请证书的网站)

    2024年02月13日
    浏览(48)
  • Java调用HTTPS接口,绕过SSL认证

    网络编程中,HTTPS(Hypertext Transfer Protocol Secure)是一种通过加密的方式在计算机网络上进行安全通信的协议。网络传输协议,跟http相比更安全,因为他加上了SSL/TLS协议来加密通信内容。 Java调用HTTPS,需要与客户端建立连接,但是建立连接的时候,需要进行SSL认证。有的时候

    2024年02月06日
    浏览(43)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包