HTTPS网站被攻击的原理,网站被攻击应该如何进行防护吗,新手必知

news2024/11/25 4:36:11

     网站是通过独特的一个端口来进行加密传输,防止传输中的内容被窃取,一般用HTTPS协议做网站的,一般是大型网站,以及支付网站,用户数据比较重要的一些网站,证书要单独购买,HTTPS超文本传输安全协议是一种通过计算机网络进行安全通信的传输协议。HTTPS 经由 HTTP 进行通信,但利用 SSL/TLS 来加密数据包。开发的主要目的,是提供对网站服务器的身份认证,保护交换数据的隐私与完整性。

   1、首先攻击者会对目标网站以及服务器进行中间人攻击,从而让流量走自己的电脑(这与的原理根本就是一样的)。

 2、此时客户端便会与攻击者的服务器进行 https 加密通信,网站源服务器也会与 攻击者进行证书加密通信。

 3、虽然用户此时进行的是https协议通信,但是所有的数据传输对于攻击者来说都是明文的,跟ARP中间人攻击是一个道理,伪造IP来进行攻击,这个是伪造了证书。

   https网站被攻击的步骤

 当https网站被攻击时,我们来看一下攻击者是如何攻击的吧,分8个步骤,我来一一列举,大家看一下:

 1、第一步最重要的是要先建立TCP的三次握手连接,连接建立之后由客户端向浏览器发起连接的协议请求。

 2、连接请求成功之后,client客户端会发送自己所有支持的 ciphersuit ( 包括:对称加密算法、非对称加密算法、单向加密算法、伪随机数算法 )给目标服务器进行加密算法的协商,服务器会自动选择他们俩都支持的最安全的ciphersuit 协议进行加密安全通信。

 3、然后服务器会发送自己的https证书到客户端(证书用于验证服务器的身份,同时也包含了服务器以及网站的各种相关信息)。Sine安全公司是一家专注于:服务器安全、网站安全、网站安全检测、网站漏洞修复,渗透测试,安全服务于一体的网络安全服务提供商。

 4、客户端在接收到服务器的证书之后,会验证该https证书是否是由本地根证书中所信任的颁发机构颁发的证书。证书里面会有证书颁发机构的私钥签名,只有正确的私钥才能被客户端保存的公钥解密,这就保证了证书的安全性;证书中还会存在服务器的公钥,只有拥有私钥的服务器才能解密公钥加密的内容,这就保证了后续网站之间传输过程的安全性。

 5、验证了证书的合法性之后,客户端会使用刚才协商的伪随机数算法生成对称密钥,然后将对称密钥通过服务器的公钥进行加密之后,再发送给服务器。

 6、服务器接收到公钥加密的内容之后,会用自己的私钥进行解密,从而获取对称密钥,此时通信双方都得到了对称密钥就可以进行加密通信了。

 7、通信时客户端会先将数据用对称密钥加密,然后又进行hash计算,然后用 服务器的公钥将得到的 hash 值进行加密,将该 hash 值和加密之后的密文发送给 server 端,发送数据过程类似hash。

 8、服务器接收到客户端传来的数据包之后,会先用自己的私钥解密密文得到 hash1 ,然后用与没有加密的 hash 进行比较,相同则代表传输的数据没有被篡改,然后再用之前协商的单向加密算法解密 hash ,用对称密钥解密密文得到 data server 发送数据过程类似:hash。

 那么网站被攻击该如何防护呢?

 1、首先要配置最安全的 https。

 2、再一个就是网站用到的所有密码不仅要靠 https协议来加密进行传输,在前端也要使用加密控件对密码进行加密,这样就算被降级攻击也拿不到明文的密码,破解也需要很长时间。

 3、服务器端防御:配置路由规则,绑定 IP/MAC 以防被 ARP 欺骗。谨慎打开浏览器提醒证书错误的网站,但是笔者曾遇到过某部门网站居然都会出现证书报错,不得已还是要打开。

   4、使用安全加速SCDN:通过域名解析到CDN的别名隐藏真实源IP显示的都是CDN高防节点IP,在高防的同时兼顾安全防黑,缓存加速功能,如H5 ,基于web的APP,websocket、http、https协议等都是适用的,可以达到非常好的防护效果

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1366606.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

无人地磅系统|内蒙古中兴首创无人地磅和远程高效管理的突破

走进标杆企业,感受名企力量,探寻学习优秀企业领先之道。 本期要跟砼行们推介的标杆企业是内蒙古赤峰市砼行业的龙头企业:赤峰中兴首创混凝土搅拌有限责任公司(以下简称为中兴首创)。 中兴首创成立于2011年初&#xff…

OpenFeign学习思维导图

参考: 1、OpenFeign如何为FeignClient生成动态代理类 2、Feign底层原理分析-自动装载&动态代理 3、FactoryBean和普通Bean的区别

gephi——graphviz插件设置

gephi_graphviz插件设置 以下是我总结出来的一点经验 1. 安装graphviz软件,请见作者其他博客 2. 安装gephi 插件,并激活 3. 运行graphviz布局,会遇到找不到dot问题 问题描述:Graphviz process error X There was an error launc…

Wi-Fi 6 超值畅享|乐鑫发布 ESP32-C61 SoC

乐鑫信息科技 (688018.SH) 宣布推出全新的 Wi-Fi 6 Bluetooth 5 (LE) SoC ESP32-C61。这款芯片作为 ESP32-C 系列的新成员,旨在满足对 Wi-Fi 6 技术不断增长的市场需求。ESP32-C61 在继承 ESP32-C2 和 ESP32-C3 成功经验的基础上,显著优化了外设、强化了…

使用flet创建todo应用

使用 Flet 在 Python 中创建待办事项应用 Create To-Do app in Python with Flet 翻译官网教程https://flet.dev/docs/tutorials/python-todo,对一些地方进行了注释和修改。 安装flet Python版本需要3.8及以上,使用pip安装: pip install…

怎么批量在文件名前面加编号?

怎么批量在文件名前面加编号?我们时常需要给文件的名称进行编号,通过给文件名进行编号,可以使文件按照编号的顺序进行排序,方便进行查找和整理。特别是在处理大量文件时,编号可以提供一种有序的方式来组织文件&#xf…

【redis】Redis中的字典类型:数据结构与使用方法

文章目录 Redis中的字典类型:数据结构与使用方法简介如何提高哈希表性能如何使用 Redis中的字典类型:数据结构与使用方法 简介 Redis中的字典类型的底层实现是哈希表(Hash Table)。 Redis的字典使用哈希表作为底层实现&#xf…

软件测试|MySQL主键约束详解:保障数据完整性与性能优化

简介 主键(PRIMARY KEY)的完整称呼是“主键约束”,是 MySQL 中使用最为频繁的约束。一般情况下,为了便于 DBMS 更快的查找到表中的记录,都会在表中设置一个主键。 MySQL是一种广泛使用的开源关系型数据库管理系统&am…

海豚²来了丨DolphinDB 集成 DolphinScheduler,任务调度更轻松

DolphinDB 是一款高性能时序数据库。DolphinDB 集成了功能强大的编程语言和高容量高速度的批流一体数据分析系统,为海量数据(特别是时间序列数据)的快速存储、检索、计算及分析提供一站式解决方案。在实际生产环境中,经常存在数据…

LeetCode刷题12:贪心算法解决1402.做菜顺序

一个厨师收集了他 n 道菜的满意程度 satisfaction ,这个厨师做出每道菜的时间都是 1 单位时间。 一道菜的 「 like-time 系数 」定义为烹饪这道菜结束的时间(包含之前每道菜所花费的时间)乘以这道菜的满意程度,也就是 time[i]*sa…

决策树--CART回归树算法详解

1、介绍 (1)简介 CART(Classification and Regression Trees)回归树是一种基于决策树的机器学习算法,用于预 测连续型目标变量而不是离散型类别变量。 (2)生成过程 ① 选择一个特征和相应的…

安达发APS|PDM产品数据管理可以帮助企业实现的价值

在实际运用中,APS系统的PDM产品数据管理功能可以帮助企业实现以下价值: 1. 提高产品设计和制造的效率:通过对产品结构和文档的统一管理,可以实现对产品信息的快速查询和检索,提高产品设计和制造的效率。 2. 保证产品数…

软件测试|测试平台开发-Flask入门:Flask动态路由

前言 之前我们介绍了flask发送http请求,以及flaskURL的详解,我们使用的路由都是固定的,一个路径和一个视图函数绑定,当访问这条路径时会触发相应的处理函数。但是当我们要处理更为复杂的情况时,比如我们有多个用户&am…

PyTorch|保存与加载自己的模型

训练好一个模型之后,我们往往要对其进行保存,除非下次用时想再次训练一遍。 下面以一个简单的回归任务来详细讲解模型的保存和加载。 来看这样一组数据: xtorch.linspace(-1,1,50)xx.view(50,1)yx.pow(2)0.3*torch.rand(50).view(50,1) 画…

SpringBoot + Mybatis 实现多数据源原来如此简单

1、为什么需要整合多数据源 在开发的过程中,我们可能会遇到一个工程使用多个数据源的情况,总体而言分为以下几个原因 a、数据隔离:将不同的数据存储在不同的数据库中,如多租户场景 b、性能优化:将数据分散到多个数据库…

【项目实战】Cadence工具的使用2

代码覆盖率的收集 双击total,打开imc工具。total 下的文件是代码覆盖率文件 找到DUT模块!从图中可以看到代码的覆盖率已经是94.43% 添加exclude文件,注意和Synopsys的后缀不同。 导入.vRefine文件 代码覆盖率为100%。 原因是我们添加了exclu…

大学生如何当一个程序员——第三篇:热门专业学习之路5

第三篇:热门专业学习之路5 1.WEB前端快速入门2.JavaScript基础与深入解析3.jQuery应用与项目开发4.PHP、数据库编程与设计5. Http服务于Ajax编程6. 做一个阶段项目7. H5新特性与移动端开发8.高级框架9.微信小程序 各位小伙伴想要博客相关资料的话关注公众号&#xf…

LabVIEW在设备状态监测与故障诊断中的应用

在现代工业自动化领域,LabVIEW的系统设计平台在设备状态监测与故障诊断中扮演着举足轻重的角色。通过提供一个可视化和数据流编程语言,LabVIEW大大提升了设备安全监测的效率,减少了系统维护成本,同时增强了设备的可靠性和可维护性…

QT上位机开发(日志调试)

【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing 163.com】 程序开发中有很多的调试方法,比如说IDE调试,也就是设置断点、查看变量等等;比如说日志调试;比如说c…