美文网首页
ssl劫持问题

ssl劫持问题

作者: 维仔_411d | 来源:发表于2018-08-14 18:39 被阅读0次

今天webview中被检测出有ssl劫持的危险。
检测的方法是:

  1. app连上vpn(流量被引流到某服务器上);
  2. 在该服务器上使用抓包工具抓包(该抓包工具中内置有权威机构颁发的某ssl证书);
  • 结果:在抓包工具中能看到app中webview发给web服务器的明文请求数据;
  • 原因分析:webview中只设置了检验证书,未设置检验证书持有者的common name与请求的域名是否一致
    (结合php的curl,相当于只设置了CURLOPT_SSL_VERIFYPEER未1,却设置CURLOPT_SSL_VERIFYHOST为0 (默认为2 验证common name是否有值且与当前域名相匹配))
  • 解决方式,既验证ssl证书的权威性又需验证证书的common name与请求地址相匹配(自签名证书需要信任的话,结合php的curl,设置CURLOPT_CAINFO(path to Certificate Authority (CA) bundle 文件路径,默认为系统路径,文件中可以保存1个或多个用来让server验证的证书 )或CURLOPT_CAPATH (保存CA证书的目录)。(CURLOPT_SSL_VERIFYPEER为1时这两个参数才有意义))。安全要求更高的如金融机构,需进行双向认证,即client验证server ,server也要验证client(银行发给用户的U盾就是用于双向认证)结合php的curl,设置CURLOPT_SSLCERT(client端证书地址),CURLOPT_SSLCERTPASSWD(有密码的话需要设置密码),CURLOPT_SSLCERTTYPE(client端证书类型,默认为pem)(php的curl只支持pem格式、der、eng格式)) [1]
    有另外几个配置我不清楚在什么情况下需要设置:CURLOPT_SSLKEYTYPE:(私钥类型,默认为pem),CURLOPT_SSLKEY(私钥存放路径),CURLOPT_KEYPASSWD(私钥密码),

由此问题,简单了解一下ssl劫持的常见方法:

参考了csdn上一篇清晰易懂的博文(点击前去[2]

  1. 引流(ARP欺骗、DNS欺骗、浏览器数据重定向等方式)
    • 对于使用浏览器的用户:
      • 浏览器会提示用户,该证书有问题并非权威机构颁发,但同时显示该证书在有效期内,该证书名称与用户请求的网页地址匹配,询问用户是否继续;
      • 若用户点击继续,则用户的client端与冒充真正服务器的Middleman建立了连接,Middleman能够看到并修改用户发送给Server的信息,同时也可以冒充用户向真正的Server发请求,也能看到并修改Server给用户的返回。
    • 对于webview的用户,则需要app进行相应设置,既校验证书的权威性、有效性又校验证书的name存在且与请求的地址匹配。
      可参考阿里云的一篇文章(点击前去
    • 对于 存在http跳转到https的网站,Middleman将Server返回的302状态码的response内容进行替换(主要有消息头中的location的https替换为http,并指定Middleman上一个端口如https://xxx.com替换为http://xxx.com:8081,消息体中的相关链接也进行如是替换)。这样Middleman就与client建立起http连接,与Server建立起https连接,能看到并修改用户发送的数据和服务器返回的数据。

参考文章:


  1. 使用 curl 进行 ssl 认证

  2. 分析两种实现SSL会话劫持的典型技术

相关文章

  • ssl劫持问题

    今天webview中被检测出有ssl劫持的危险。检测的方法是: app连上vpn(流量被引流到某服务器上);在该服...

  • 流量劫持

    以下参考 焠安的博客 流量劫持 SSL Strip SSLStrip 终极版:Location 瞒天过海 SSL ...

  • 【无线安全】MITM——SSL篇

    本文主要介绍两种SSL中间人利用:SSL劫持与SSL降级攻击,对应使用sslsplit和sslstrip开始我们的...

  • 什么是SSL劫持?如何解决SSL劫持?网站劫持怎么办?

    我们正处在一个存在着各种诈骗、劫持的网络年代,我们的各种帐号密码很多时候都能很容易地被黑客窃取。由此很多网站使用H...

  • 全网HTTPS加密

    最近有不少网站被劫持,导致网站流量大量流失,这时候可能就要考虑是不是域名被劫持了,网站假如没有安装SSL证书,那很...

  • Chrome 又在提醒你该升级 https 了

    SSL 证书具有提高网站的安全性、避免运营商劫持等特点。有 SSL 证书的域名,浏览器也会显示小绿锁,看上去非常舒...

  • CocoaPods LibreSSL SSL_connect:

    问题:[!] CocoaPods LibreSSL SSL_connect: SSL_ERROR_SYSCALL ...

  • 阿里云如何申请免费的SSL证书

    亲测有效!!!!!!!!!!!!!!! 问题1:为什么要申请SSL证书? 因为SSL证书(SSL Certific...

  • SSL 问题

    错误内容:[!] SSL_connect returned=1 errno=0 state=SSLv3 read ...

  • 从 0.5 开始造轮子 仿 vue 的 mvvm(二)

    替换数据劫持对象   上一篇实现了 mvvm 实现思路,可是不够优雅还有很多问题,我先解决这个问题数据劫持的问题。...

网友评论

      本文标题:ssl劫持问题

      本文链接:https://www.haomeiwen.com/subject/hnrvbftx.html