HTTP通信安全和Web攻击技术

一、HTTPS,确保Web安全

在HTTP协议中可能存在信息窃听或身份伪装等安全问题,HTTP的不足:

通信使用明文(不加密),内容可能会被窃听
 不验证通信方的身份,因此有可能遭遇伪装
无法证明报文的完整性,所以有可能已遭篡改

  1、通信使用明文可能会被窃听

    HTTP本身不具有加密的功能,HTTP报文使用明文方式发送。另外TCP/IP协议的的通信机制,通信内容在所有的通信线路上都有可能遭到窥视。即使已经过加密

    处理的通信,也会被窥视到通信内容。窃听相同段上的通信并非难事,只需要收集在互联网上流动的数据包(帧)就行了。

    方案:加密处理防止被窃听

      (1)、通信的加密(建立安全通信线路)

        HTTP协议中没有加密机制,但可以通过和SSL(Secure Socket Layer,安全套接层)或TLS(Transport Layer Security,安全层传输协议)的组合使用

        加密HTTP的通信内容。用SSL建立安全通信线路之后,就可以在这条线路上进行HTTP通信了。与SSL组合使用的HTTP被称为HTTPS(HTTP Secure,

        超文本传输安全协议)

      (2)、内容的加密

        由于HTTP协议没有加密机制,那就对HTTP协议传输的内容本身加密。即把HTTP报文里所含的内容进行加密处理。在这种情况下,客户端需要对HTTP

        报文主体(body)进行加密处理后再发送请求。

  2、不验证通信方的身份就可能遭遇伪装

    HTTP协议中的请求和响应不会对通信方进行确认。也就是说存在服务器是否就是请求中URI真正指定的主机,返回的响应是否真的返回到实际提出请求的客户端

   等类似问题。

    (1)、任何人都可以发起请求

      在HTTP协议通信时,由于不存在确认通信方的处理步骤,任何人都可以发起请求。另外,服务器只要接收到请求,不管对方是谁都会返回一个响应(也仅

      限于发送端的IP地址和端口号没有被Web服务器设定限制访问的前提下)。因为不确认通信方,会存在以下各种隐患:

无法确定请求发送至目标的Web服务器是否是按真实意图返回响应的那台服务器。有可能是已伪装的Web服务器
无法确定响应返回到的客户端是否是按真实意图接收响应的那个客户端。有可能是已伪装的客户端
无法确定正在通信的对方是否具备访问权限。因为某些Web服务器上保存着重要的信息,只想发给特定用户通信的权限
无法判定请求是来自何方、出自谁手
即使是无意义的请求也会照单全收。无法阻止海量请求下的Dos攻击(Denial of Service,拒绝服务攻击)

    (2)、查明对手的证书

      虽然使用HTTP协议无法确定通信方,但如果使用SSL则可以。SSL不仅提供加密处理,而且还使用了一种被称为证书的手段可用于确定方。证书由值得信任

      的第三方机构颁发,用以证明服务器和客户端是实际存在的符合资格的。

  3、无法证明报文完整性,可能已遭篡改

    (1)、接收到的内容可能有误

      由于HTTP无法证明报文的完整性,因此,在请求或响应送出之后直到对方接收之前的这段时间内,即使请求或响应的内容遭到篡改,也没有办法获悉。即

      没有办法确认发出的请求/响应和接收到的请求/响应是前后相同的。

      像这样,请求或响应在传输途中,遭攻击者拦截并篡改内容的攻击称为中间人攻击(Man-in-the-Middle attack,MITM),攻击人会随意篡改请求和响应,而

      让客户端与服务器之间的通信看上去仍旧是正常的。

    (2)、如何防止篡改

      虽然有使用HTTP协议确定报文完整性的方法,但事实上并不便捷、可靠、其中常用的MD5和SHA-1等散列值校验的方法,以及用来确认文件的数字签名方法。

      如提供下载服务的Web网站也会提供相应的以PGP(Pretty Good Privacy,完美隐私)创建的数字签名及MD5算法生成的散列值。供用户检查验证下载的文件

      是否就是原来服务器上的文件。可惜的是用这些方法也依然无法百分百保证确认结果正确,因为PGP和MD5本身被改写的话,用户是没有办法意识到的。所以

      有必要使用HTTPS,SSL提供认证和加密处理及摘要功能。

  HTTP+加密+认证+完整性保护=HTTPS

    证书可证明服务器或客户端的身份,如我们会在Web登录和结算等使用HTTPS通信,使用HTTPS通信时,使用https://。

    1、HTTPS是身披SSL外壳的HTTP

     HTTPS并非是应用层的一种新协议。只是HTTP通信接口部分用SSL和TLS协议代替而已。通常HTTP直接和TCP通信,当使用SSL时,则演变成先和SSL通信,

    再由SSL和TCP通信了。所以说HTTPS是身披SSL外壳的HTTP。

    SSL是独立于HTTP的协议,所以其他运行在应用层的协议如SMTP、Telnet均可配合SSL协议使用。可以说SSL是当今世界上应用最为广泛的网络安全技术。

   2、相互交换密钥的公开密钥加密技术

    SSL采用一种叫做公开密钥加密的加密处理方式。

    (1)、对称密钥加密方式需要将密钥发给对方,但是发送密钥的通信可能被监听使攻击人获取到密钥,另外还得想办法安全的保管接收到的密钥

    (2)、使用两把密钥的公开密钥加密(非对称密钥加密),很好的解决了对称密钥加密的困难。双方各有一套配对的公钥和私钥,加密时双方交换公钥,

        公钥加密,私钥解密;私钥加签,公钥验签。

    (3)、HTTPS采用混合加密方式:即对称密钥加密和非对称密钥加密两者并用的混合加密机制。由于非对称加密和对称加密相比,其处理速度要慢。对称加密

      速度较快但是密钥不能安全传输。

      所以充分两者各自的优势,在对称加密的交换密钥环节使用非对称加密方式保证密钥的安全传输,在通信交换报文阶段则使用对称加密的方式。

   3、证明非对称加密方式公钥正确性的证书

    遗憾的是,公开密钥加密方式还是存在一些问题的。那就是无法证明公开密钥本身就是货真价实的公开密钥。如准备和某台服务器建立非对称加密方式下的通

   信时,交换公钥后如何证明收到的公开密钥就是原本预想的那台服务器的公钥,可能在公钥传输途中,真正的公钥已经被攻击者替换掉了。

    数字证书认证机构处于客户端与服务器双方都可信赖的第三方机构的立场上。数字证书认证流程:

      (1)、服务器把自己的公开密钥登录至数字证书认证机构

      (2)、数字证书认证机构用自己的私钥向服务器的公钥签署数字签名并颁发公钥证书给客户端

      (3)、客户端拿到服务器的公钥证书后,使用数字证书认证机构的公开密钥(事先植入到浏览器中),像数字证书认证机构验证公钥证书上的数字签名,以

          确认服务器的公开密钥的真实性

      (4)、客户端使用服务器的公开密钥对报文加密后发送

      (5)、服务器用私有密钥对报文解密。

    即数字证书认证机构使用非对称加密方式对同样使用非对称加密的双方的交换公钥的公钥进行加密和加签保证公钥的正确性,只不过数字证书认证机构的公钥事先

  植入在浏览器中,是可信的。

  既然HTTPS安全可靠,为什么不一直使用HTTPS?

 HTTPS比HTTP要慢2到100倍,比HTTP多了SSL通信,首先SSL通信慢,另外SSL通信还要大量消耗CPU及内存等资源。此外要进行HTTPS通信,证书必不可少,而

证书必须向认证机构(CA)购买,价格昂贵。

 因此,如果是非敏感信息则使用HTTP通信,只有包含敏感数据时,才使用HTTPS加密通信。

原文地址:https://www.cnblogs.com/yangyongjie/p/11595350.html

时间: 2024-10-30 07:15:36

HTTP通信安全和Web攻击技术的相关文章

前端学HTTP之web攻击技术

前面的话 简单的HTTP协议本身并不存在安全性问题,因此协议本身几乎不会成为攻击的对象.应用HTTP协议的服务器和客户端,以及运行在服务器上的Web应用等资源才是攻击目标.本文将详细介绍攻击web站点的手段 总括 与最初的设计相比,现今的Web网站应用的HTTP协议的使用方式已发生了翻天覆地的变化.几乎现今所有的Web网站都会使用会话(session)管理.加密处理等安全性方面的功能,而HTTP协议内并不具备这些功能 从整体上看,HTTP就是一个通用的单纯协议机制.因此它具备较多优势,但是在安全

HTTP知识普及系列:Web攻击技术

HTTP协议本身并不存在安全性问题,应用HTTP协议的服务器和客户端以及运行在服务器上的Web应用等资源才是攻击的目标. Web网站使几乎都用会话管理.加密处理等安全性方面的功能.而HTTP协议本身不具备这些功能. 在HTTP请求报文内加载攻击代码能对Web应用发起攻击. 针对Web的攻击模式 主动攻击是指攻击者通过直接访问应用,把攻击代码传入的攻击模式. 被动攻击是指利用全套策略执行攻击代码的攻击模式. 实施Web应用的安全策略可大致分为以下两部分. 客户端验证 Web应用端(服务器端)验证

了解到的Web攻击技术

(1)XSS(Cross-Site Scripting,跨站脚本攻击): 指通过存在安全漏洞的Web网站注册用户的浏览器内运行非法的HTML标签或者JavaScript进行的一种攻击. (2)SQL注入攻击 (3)CSRF(Cross-Site Request Forgeries,跨站点请求伪造): 指攻击者通过设置好的陷阱,强制对已完成的认证用户进行非预期的个人信息或设定信息等某些状态更新. 原文地址:https://www.cnblogs.com/yishenweilv/p/10720947

Web 缓存欺骗攻击技术详解

你是否曾想过你只需要访问如:https://www.paypal.com/myaccount/home/stylesheet.css或https://www.paypal.com/myaccount/settings/notifications/logo.png这样的链接就可能会泄露你的敏感数据,甚至允许攻击者控制你的帐户? Web缓存欺骗是一种新的Web攻击向量,这种攻击技术的出现使得多种Web缓存技术和框架面临风险. Web缓存和服务器反应的一点介绍 很多网站通常都倾向于使用web缓存功能(

《图解Http》 10,11章:构建Web的技术, Web的攻击技术

10.2动态HTML 通过调用客户端脚本语言js,实现对web页面的动态改造.利用DOM文档对象模型,指定想发生变化的元素. 10.22 更容易控制的DOM 使用DOM可以将HTML内的元素当作对象操作. 10.3 Web应用 10.31通过Web提供功能的Web应用. 10.32 与web服务器协作的CGI Common Gateway Interface 通用网关接口:指服务器收到客户端发过来的请求后,转发给程序的一组机制. 10.4 数据发布的格式,语言 10.41 XML (extens

《Web渗透技术及实战案例解析》pdf

下载地址:网盘下载 内容简介 编辑 本书从Web渗透的专业角度,结合网络安全中的实际案例,图文并茂地再现Web渗透的精彩过程.本书共分7章,由浅入深地介绍和分析了目前网络流行的Web渗透攻击方法和手段,并结合作者多年的网络安全实践经验给出了相对应的安全防范措施,对一些经典案例还给出了经验总结和技巧,通过阅读本书可以快速掌握目前Web渗透的主流技术.本书最大的特色就是实用和实战性强,思维灵活.内容主要包括Web渗透必备技术.Google黑客技术.文件上传渗透技术.SQL注入.高级渗透技术.0day

总结几种常见web攻击手段及其防御方式

本文简单介绍几种常见的攻击手段及其防御方式 XSS(跨站脚本攻击) CSRF(跨站请求伪造) SQL注入 DDOS web安全系列目录 总结几种常见web攻击手段极其防御方式 总结几种常见的安全算法 XSS 概念 全称是跨站脚本攻击(Cross Site Scripting),指攻击者在网页中嵌入恶意脚本程序. 案列 比如说我写了一个博客网站,然后攻击者在上面发布了一个文章,内容是这样的 <script>window.open("www.gongji.com?param="

总结几种常见web攻击手段极其防御方式

本文简单介绍几种常见的攻击手段及其防御方式 XSS(跨站脚本攻击) CSRF(跨站请求伪造) SQL注入 总结几种常见web攻击手段极其防御方式 XSS 概念 全称是跨站脚本攻击(Cross Site Scripting),指攻击者在网页中嵌入恶意脚本程序. 案列 比如说我写了一个博客网站,然后攻击者在上面发布了一个文章,内容是这样的 <script>window.open("www.gongji.com?param="+document.cookie)</scrip

协议欺骗攻击技术常见种类简析及防范

IP欺骗攻击 IP欺骗技术就是通过伪造某台主机的IP地址骗取特权从而进行攻击的技术.许多应用程序认为如果数据包能够使其自身沿着路由到达目的地,而且应答包也可以回到源地,那么源IP地址一定是有效的,而这正是使源IP地址欺骗攻击成为可能的前提. 假 设同一网段内有两台主机A.B,另一网段内有主机X.B 授予A某些特权.X 为获得与A相同的特权,所做欺骗攻击如下:首先,X冒充A,向主机 B发送一个带有随机序列号的SYN包.主机B响应,回送一个应答包给A,该应答号等于原序 列号加1.然而,此时主机A已被