您好!欢迎访问千伏动力网站!
全国咨询热线:13698282878
行业新闻
您的位置: 首页 >> 行业新闻 >> 正文内容

我们来一起说说HTTPS中间人攻击与证书校验

作者:paopao 浏览量:31 时间:2025-07-24 01:23:00

一、前言

随着安全的普及,https通信应用越发广泛,但是由于对https不熟悉导致开发人员频繁错误的使用https,例如***常见的是未校验https证书从而导致“中间人攻击”,并且由于修复方案也一直是个坑,导致修复这个问题时踩各种坑,故谨以此文简单的介绍相关问题。

本文***节主要讲述https的握手过程,第二节主要讲述常见的“https中间人攻击”场景,第三节主要介绍证书校验修复方案,各位看官可根据自己口味浏览。

二、HTTPS握手过程

    首先来看下https的工作原理,上图大致介绍了https的握手流程,后续我们通过抓包看下每个握手包到底干了些什么神奇的事。

    注:本文所有内容以TLS_RSA_WITH_AES_128_CBC_SHA加密组件作为基础进行说明,其他加密组件以及TLS版本会存在一定差异,例如TLS1. 3 针对移动客户端有了很大的改动,现在的ECDHE等密钥交换算法与RSA作为密钥交换算法也完全不一样,所以有些地方和大家实际操作会存在一定出入。

1.TCP三次握手

    我访问的支付宝的官网www.alipay.com抓取的数据。

2.Client Hello

     TLS的版本号和随机数random_c:这个是用来生成***后加密密钥的因子之一,它包含两部分,时间戳和随机数 session-id:用来标识会话,***次握手时为空,如果以前建立过,可以直接带过去从而避免完全握手 Cipher Suites加密组件列表:浏览器所支持的加密算法的清单客户端支持的加密签名算法的列表,让服务器进行选择 扩展字段:比如密码交换算法的参数、请求主机的名字,用于单ip多域名的情况指定域名。

3.Sever Hello

    随机数rando_s,这个是用来生成***后加密密钥的因子之一,包含两部分,时间戳和随机数 32 字节的SID,在我们想要重新连接到该站点的时候可以避免一整套握手过程。 在客户端提供的加密组件中,服务器选择了TLS_RSA_WITH_AES_128_CBC_SHA组件。

4.Certificate

    证书是https里非常重要的主体,可用来识别对方是否可信,以及用其公钥做密钥交换。可以看见证书里面包含证书的颁发者,证书的使用者,证书的公钥,颁发者的签名等信息。其中Issuer Name是签发此证书的CA名称,用来指定签发证书的CA的可识别的***名称(DN, Distinguished Name),用于证书链的认证,这样通过各级实体证书的验证,逐渐上溯到链的终止点,即可信任的根CA,如果到达终点在自己的信任列表内未发现可信任的CA则认为此证书不可信。

    验证证书链的时候,用上一级的公钥对证书里的签名进行解密,还原对应的摘要值,再使用证书信息计算证书的摘要值,***后通过对比两个摘要值是否相等,如果不相等则认为该证书不可信,如果相等则认为该级证书链正确,以此类推对整个证书链进行校验。

   二级机构的证书。

三、中间人攻击

    https握手过程的证书校验环节就是为了识别证书的有效性***性等等,所以严格意义上来说https下不存在中间人攻击,存在中间人攻击的前提条件是没有严格的对证书进行校验,或者人为的信任伪造证书,下面一起看下几种常见的https“中间人攻击”场景。

1.证书未校验

    由于客户端没有做任何的证书校验,所以此时随意一张证书都可以进行中间人攻击,可以使用burp里的这个模块进行中间人攻击。

    通过浏览器查看实际的https证书,是一个自签名的伪造证书。

2.部分校验

  做了部分校验,例如在证书校验过程中只做了证书域名是否匹配的校验,可以使用burp的如下模块生成任意域名的伪造证书进行中间人攻击。

    实际生成的证书效果,如果只做了域名、证书是否过期等校验可轻松进行中间人攻击(由于chrome是做了证书校验的所以会提示证书不可信任)。


假如你需要开发微信小程序,想必对小程序的方方面面已经有所了解。微信自身对于小程序的支撑主要在客户端,定义了小程序在客户端的目录结构、配置文件以及可以使用的API。在这个互联网时代,只有客户端的程序未免过于单薄,能实现的功能太少。现在的软件几乎都有自己的服务端,核心逻辑放在服务器上,客户端只负责界面展示以及用户交互。

既然需要一个服务端,就少不了对服务端的部署和运维。维护服务端是件很无趣的事情,无论对新手还是老手:准备机器、配置运行环境、把代码推送到机器上,启动,调试。整件事情纯体力劳动,而且中间经常遇到各种各样稀奇古怪的问题,要么是缺少依赖,要么是莫名的不工作,排查有浪费了大量的时间。而有的服务比较复杂,还得依赖数据库或者其他服务,在搭一套数据库,又增加了大量的时间成本。而且这些还没考虑服务端应用更新的操作。

使用容器服务

阿里云容器服务(Container Service)提供高性能可伸缩的容器应用管理服务,支持用Docker容器进行应用生命周期管理,提供多种应用发布方式和持续交付能力并支持微服务架构。容器服务简化了容器管理集群的搭建工作,整合了阿里云虚拟化、存储、网络和安全能力,打造Docker云端***佳运行环境。

(容器服务可0元开通使用:http://click.aliyun.com/m/14769/ )

使用阿里云容器服务,可以减轻环境搭建和部署的成本,后续的软件更新也可以通过容器服务完成。甚***通过容器服务的DevOps支持实现从提交代码到更新服务的全自动流程。

使用容器服务部署应用的过程非常简单,可以总结为

1、把应用打包成Docker镜像,推送到阿里云镜像仓库

2、准备编排模板,一个yaml文件,格式非常简单,在个文件里描述你的应用镜像,应用配置以及依赖的数据库等服务。

3、在容器服务上部署新应用

《在阿里云容器服务上创建一个使用Redis的Python应用》提供了一个Python Web+Redis的样例。

***此,我们已经部署了一个应用,但是线上服务总是要更新的。在容器服务里更新应用也很简单:

1、修改代码

2、构建新镜像,推送到镜像仓库

3、在容器服务控制台点击重新部署

这里要手工构建镜像,还得打开容器服务控制台才能用新镜像重新部署,能不能修改代码之后立即就部署呢?其实很简单,容器服务完全支持这种场景,《Docker在云平台上的***佳实践:基于容器技术的DevOps探索》详细介绍了如何在容器服务里配置完整的持续交付流程。

支持https和websocket

微信小程序要求普通请求必须走https,长连接用websocket。在容器服务里怎么支持https和websocket呢?很容易实现,《Docker DevOps实战:一个基于WebSocket的聊天应用》介绍了如何在容器服务上配置websocket,***于https,由于容器服务前端使用负载均衡slb做转发,所以只要在负载均衡slb上配置了证书,就可以通过https访问服务了。



  网站服务器和空间被入侵,让人都很纠结这种事情,自己辛辛苦苦的运行半年的网站结果被人挂马,导致网站在很多时间内收录大面积的无关内容。轻则网站排名下降,重则直接被搜索引擎K站。本人就遇到过这种事情,辛辛苦苦做的两个月网站,权重和排名都做的不错,权重做到2。可是被人挂马之后,导致我的网站瞬间在搜索引擎排名全无。原本运营地区性论坛,被挂马之后收录的信息。如图所示

  

 

 

  导致后果就是网站和流量全无,如图所示

  

 

 

  这样本人这次做的网站被挂马之后有多惨,足足三个多月在搜索引擎无法过的流量。濮阳网站建设说说网站被挂马之后如何处理这种事情。

  首先遇到这种情况,千万不要生气,解决问题才是***道。

  1.***步打开网站被黑链接,看看地址栏链接中以何种形式呈现。本人根据网站链接***终锁定是网站被注入PHP文件,生成HTML链接。找到根源之后,就要及时把服务器和空间被注入的PHP删除掉。下面就不用我在一一介绍,相信每位站长都对自己网站的文件了如指掌,只需要锁定文件,删除多余文件就行。

  

 

 

  2.第二步查看本人网站是否存在服务器安全性问题,这里本人不得不多嘴,本人在网站安全性方面由于之前疏忽导致网站在修改权限上面默认允许状态(本人使用window2003服务器)。我也在这里告诫大家网站服务器要做好安全工作,否则后悔莫及。

  3.第三步运用第三方软件扫描网站是否存在漏洞,如果存在就要及时的修补,还就是尽量少用网上的模板,***终自己根据开源cms自己制作模板,这样网站也可以减少很多问题。对于织梦网站来说,就要及时修复织梦漏洞。

  4.第四步就是网站删除被挂马搜录的链接,及时反馈到搜索引擎,把链接整理出来以死链接的形式提交,这样做的目的就是把网站损失减少到***小。

  5.第五步做好定期检查工作,出现异常问题,及时解决,网站数据做好备份。

  网站被挂马问题,千万不要抱怨,俗话说吃一堑长一智,以后在做网站的时候,这些问题都可以在运营之前及时解决掉。


  相关资料显示,移动互联网在短短几年时间里产生了巨大的影响作用,移动互联网是互联网未来的发展趋势已是不争事实。在这一发展背景下,手机网站将会成为企业立足移动互联网的一种新型营销模式,也是开展新型营销的桥头堡。

  

 

 

  面对庞大的移动互联网用户群体资源,如果企业拥有了自己的手机网站网站就能够有效吸引这部分用户,扩大企业的影响范围,为企业立足移动互联时代奠定基础。另外,对企业而言,手机网站不仅是企业的一个手机版展示平台,更是移动互联网时代的企业应用与商业服务平台,结合了移动互联网技术与企业信息化建设,实现了企业品牌展现、互动营销。

  企业需要什么样的手机网站

  相对于PC网站来说,手机网站在表现形式和内容丰满度上来说要弱一点,但麻雀虽小,五脏俱全。从内容建设上来说,一个***的企业手机网站也有自己必备的部分。

  一、企业宣传。

  Wap上的企业宣传很能体现文字功底:既要简单明了,又要突出企业的核心竞争力。一般说来,企业的成立时间、规模、联系方式、主营业务等,是访问者了解一个企业的首要内容,特别是企业的联系方式,可重点予以单列,以方便查阅和联系。

  二、产品展示。

  企业在WAP网站上,需要表现的重点仍然是产品展示。移动客户访问企业的wap 网站往往是有备而来,想了解某个产品的详细参数或价格。所以企业在wap上的产品展示,可选择企业的主要产品,对其各类参数或价格加以详细说明。同时,对于企业的新产品信息,也可以适当的加以介绍。

  三、客户服务。

  对于企业的客户服务而言,可能wap网站比传统网站会更有效。客户服务包括客户咨询与投诉两个方面,通过企业的wap客户服务平台,无论何时何地,客户均能通过手机对企业进行咨询或投诉,而企业对于客户的咨询或投诉能够快速响应,与客户建立起一对一的联系。

  企业怎么样快速搭建炫酷手机网站

  随着智能自助建站技术的发展,使用模板快速建站成为企业的***。但是手机网站受限于手机屏幕小和手机网站运行速度等问题,建议大家在选择手机网站模板的时候选择风格比较简洁明了,层次清楚,这样用户才能在小小的屏幕中发现自己需要的内容。这里,大家可以选择微企点自助建站平台,微企点为用户提供了上千套免费的风格各异的模板。在微企点,用户选定喜欢的风格模板,通过添加栏目菜单等设置,再上传图片和文字介绍,就可以自动生成精美的手机网站。

  通过微企点生成企业手机网站,企业可充分展示企业文化、活动、服务、产品等信息内容。微企点支持H5技术,可以自由布局和动态交互设计,可以将手机网站做到像时下流行的H5网页一样的炫酷,让你的网站动起来,更好地抓住移动商机和流量。微企点的手机网站有专门的社交分享机制,可以将网站直接分享到微信微博等流量入口,对于百度seo的移动适配也非常给力,有助于提供网站的权重,获得更多的流量入口。

  移动互联网时代,谁占领了用户手机,谁就占领了市场!企业手机网站的建立,可以让用户更了解企业品牌,减少企业宣传成本,提高品牌知名度,努力助企业在移动互联网时代获得***大收益。

遇到问题?请给我们留言

请填写您的电话号码,我们将回复您电话