Web安全与防护 (微课版) 课件 01-2 项目一 任务三 HTTP协议及安全性_第1页
Web安全与防护 (微课版) 课件 01-2 项目一 任务三 HTTP协议及安全性_第2页
Web安全与防护 (微课版) 课件 01-2 项目一 任务三 HTTP协议及安全性_第3页
Web安全与防护 (微课版) 课件 01-2 项目一 任务三 HTTP协议及安全性_第4页
Web安全与防护 (微课版) 课件 01-2 项目一 任务三 HTTP协议及安全性_第5页
已阅读5页,还剩23页未读 继续免费阅读

付费下载

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

项目一Web安全基础Web安全与防护本任务要点学习目标HTTP报文格式URL格式及作用HTTPS认证流程熟悉HTTP请求报文和响应报文格式。熟悉URL格式。熟悉HTTPS基本概念和工作原理。能够分析捕获的HTTP报文内容。任务三HTTP协议及安全性目录CONTENTS01/HTTP请求报文02/HTTP响应报文03/URL基本概念04/HTTPS安全性分析HTTP请求报文01HTTP协议

RFC2616,HTTP1.1。超文本传输协议(英文:HyperTextTransferProtocol,缩写:HTTP)是互联网上应用最为广泛的一种网络协议。设计HTTP最初的目的是为了提供一种发布和接收HTML页面的方法。通过HTTP协议请求的资源由统一资源标识符(UniformResourceIdentifiers,URI)来标识。HTTP是一个应用层协议,它使用TCP连接进行可靠的传送。HTTP有两类报文:请求报文和响应报文。HTTP报文是面向文本的,报文中的每一个字段都是一些ASCII码串,各个字段的长度是不确定的。HTTPS(HypertextTransferProtocoloverSecureSocketLayer)简单讲是HTTP的安全版,在HTTP下加入SSL层。SSL(SecureSocketsLayer安全套接层)主要用于Web的安全传输协议,在传输层对网络连接进行加密,保障在Internet上数据传输的安全。HTTP无状态性:HTTP协议是无状态的(stateless)。也就是说,同一个客户端第二次访问同一个服务器上的页面时,服务器无法知道这个客户端曾经访问过,服务器也无法分辨不同的客户端。HTTP的无状态特性简化了服务器的设计,使服务器更容易支持大量并发的HTTP请求。HTTP请求报文01HTTP协议

HTTP持久连接

HTTP1.0使用的是非持久连接,主要缺点是客户端必须为每一个待请求的对象建立并维护一个新的连接,即每请求一个文档就要有两倍RTT的开销。因为同一个页面可能存在多个对象,所以非持久连接可能使一个页面的下载变得十分缓慢,而且这种短连接增加了网络传输的负担。HTTP1.1使用持久连接keepalive,所谓持久连接,就是服务器在发送响应后仍然在一段时间内保持这条连接,允许在同一个连接中存在多次数据请求和响应,即在持久连接情况下,服务器在发送完响应后并不关闭TCP连接,而客户端可以通过这个连接继续请求其他对象。HTTP/1.1协议持久连接的两种方式:非流水线方式:客户在收到前一个响应后才能发出下一个请求;流水线方式:客户在收到HTTP的响应报文之前就能接着发送新的请求报文。HTTP请求报文01http请求报文由请求行<request-line>、请求头部<headers>、空行<blank-line>和请求数据<request-body>4个部分组成HTTP请求报文01请求报文请求行:由3部分组成:请求方法、URL、协议版本,之间由空格分隔请求方法——包括GET、HEAD、PUT、POST、TRACE、OPTIONS、DELETE以及扩展方法,并不是所有的服务器都实现了所有的方法,部分方法即便支持,出于安全性的考虑也是不可用的。最基本的方法有4种:GET、POST、PUT、DELETE,对应着对URL资源的查,改,增,删4个操作;GET一般用于获取/查询资源信息,而POST一般用于更新资源信息。协议版本——格式为:HTTP/主版本号.次版本号,常用的有HTTP/1.0和HTTP/1.1请求头部为请求报文添加了一些附加信息,由“名/值”对组成,每行一对,名和值之间使用冒号分隔。请求头部的最后会有一个空行,表示请求头部结束,接下来为请求正文,这一行非常重要,必不可少。HTTP请求报文01请求报文请求正文:可选部分,比如GET请求就没有请求正文POST比GET方式的安全性要高:(1)登录页面有可能被浏览器缓存;(2)通过GET提交数据,用户名和密码将明文出现在URL上,其他人查看浏览器的历史纪录,就可以拿到你的账号和密码;(3)当遇上跨站的攻击时,安全性的表现更差。HTTP响应报文02HTTP响应报文主要由状态行、响应头部、响应正文3部分组成HTTP响应报文02响应报文请求行:由3部分组成,分别为:协议版本,状态码,状态码描述,之间由空格分隔1xx:指示信息--HTTP/1.1向协议中引入了信息性状态码,表示请求已接收,继续处理;2xx:成功--表示请求已被成功接收、理解、接受;3xx:重定向--要完成请求必须进行更进一步的操作;4xx:客户端错误--请求有语法错误或请求无法实现;5xx:服务器端错误--服务器未能实现合法的请求。HTTP响应报文02响应报文响应头部:与请求头部类似,为响应报文添加了一些附加信息。URL基本概念03怎样标志分布在整个因特网上的万维网文档?Web采用“统一资源定位符”(URLUniformResourceLocator)来惟一标识和定位万维网上的各种文档。通用的URL描述格式为:信息服务类型://信息资源地址[:端口号]/路径名/文件名<协议>://<主机>:<端口>/<路径>ftp——文件传送协议FTPhttp——超文本传送协议HTTPURL基本概念03使用HTTP的URL的一般形式

http://<主机>:<端口>/<路径>

HTTP的默认端口号是80,通常可省略

http://<主机>:<端口>/<路径>

若再省略文件的<路径>项,则URL就指到因特网上的某个主页(homepage)。URL基本概念03URI、URL和URN之间的区别URI全名为UniformResourceIndentifier(统一资源标识),用来唯一的标识一个资源,是一个通用的概念,URI由两个主要的子集URL和URN组成URL全名为UniformResourceLocator(统一资源定位),通过描述资源的位置来标识资源URN全名为UniformResourceName(统一资源命名),通过资源的名字来标识资源,与其所处的位置无关,这样即使资源的位置发生变动,其URN也不会变化HTTPS安全性分析04为什么使用HTTPSHTTP协议在传输中,未对传输的数据进行加密处理,因此对会话过程进行抓包分析,很容易获得用户当前的行为,包括用户的登录情况、用户名和口令、访问地址等。HTTPS安全性分析04什么是HTTPSHTTPS协议又称为“安全超文本传输协议”,它是HTTP协议的安全版本,主要通过在HTTP和TCP/IP之间添加一层加密层来增强数据传输的安全性。HTTPS并不是一个独立的协议,通俗地说,HTTPS协议就是HTTP依托SSL协议来达到数据安全传输的效果。SSL(SecureSocketsLayer,安全套接层)是一种为网络通信提供安全及数据完整性的安全协议。其后续规范协议TLS(TransportLayerSecurity)对原有SSL协议进行了扩展。目前,HTTP协议都是利用TLS实现传输加密过程。HTTPS安全性分析04HTTPS协议的特点加密:HTTPS协议使用SSL或TLS协议对数据进行加密,保证了数据在传输过程中被窃听的安全性(密文与原始明文差异极大)。数据完整性:HTTPS协议可以保证数据在传输过程中未被修改,保护数据的完整性。身份验证:通过SSL/TLS证书验证服务器的身份,保证客户端访问的是目标服务器而非冒名顶替的服务器,可以防止“中间人”攻击。HTTPS安全性分析04HTTPS如何保证数据安全传输对称加密非对称加密数字证书解决密钥传输和数据加密问题解决中间人攻击问题HTTPS安全性分析04HTTPS如何保证数据安全传输对称加密非对称加密解决密钥传输和数据加密问题在实际情况中往往采用非对称加密的方式将公钥传输给客户端,接着客户端再生成一把对称密钥,使用公钥对该密钥进行加密后传输给服务器,服务器收到请求后使用私钥解密得到对称密钥,在后面的通信过程中,双方都使用对称密钥传输信息。解决:

1)对称加密,密钥传递困难的问题;2)非对称加密算法资源消耗高的问题。HTTPS安全性分析04HTTPS如何保证数据安全传输对称加密非对称加密解决密钥传输和数据加密问题中间人攻击将有可能获得通信双方传输的加密数据的明文信息:1)客户端向服务器询问公钥;2)黑客传递询问公钥请求,服务器端生成public1和private1,并把公钥public1作为响应返回;3)黑客收到public1后保存下来(用于后面加密对称密钥,达到隐藏自己的目的),同时自己生成public2和private2,将public2返回给客户端;4)客户端收到公钥后,用public2加密自己生成的对称密钥并传递给服务器;5)黑客收到请求,使用private2解密获取用于日常数据传输的对称密钥,再用public1加密对称密钥,传递给服务器。(这样既能使服务器和客户端能够正常使用对称密钥传输数据,也能够达到隐藏自己的目的,后面就能随意监听通信双方传输的数据,甚至伪装成另一方与对面通信,以此达到其他非法目的);6)服务器收到请求,使用private1解密获取对称密钥,此时服务器和客户端都认为彼此是直接、安全地进行通信。中间人攻击指攻击者在通信双方之间秘密穿插自己,甚至伪装成通信的另一方,使得通信双方认为他们在直接地、安全地与对方通信,但实际上所有传递的信息都经过攻击者,从而通过这种攻击达到窃取通信过程的敏感数据或篡改数据的目的。HTTPS安全性分析04HTTPS如何保证数据安全传输对称加密非对称加密数字证书1)思考一:若黑客替换了证书中的公钥是否可行?2)思考二:若黑客将公钥连同加密的校验和一同替换了是否可行?3)思考三:若黑客也向公证机构申请一个证书,将证书里的公钥、校验和等属性替换成自己的,后面再将证书传递给客户端,借助上述的中间人攻击手段,达到窃听、修改通信数据的目的。这种方法是否可行?HTTPS安全性分析041)思考一:若黑客替换了证书中的公钥是否可行?2)思考二:若黑客将公钥连同加密的校验和一同替换了是否可行?3)思考三:若黑客也向公证机构申请一个证书,将证书里的公钥、校验和等属性替换成自己的,后面再将证书传递给客户端,借助上述的中间人攻击手段,达到窃听、修改通信数据的目的。这种方法是否可行?不可行。因为一旦服务器的公钥被替换,客户端如果证书计算出来的校验和一定与解密后的原始校验和不一致,这样则说明了公钥或其他内容被修改过。不可行。因为若要替换校验和需使用私钥加密,而私钥是公证机构持有的,若使用黑客生成的私钥加密校验和,客户端则不能正确解密数字签名,因此这种方法也是行不通的。不可行。因为申请证书需要提交各种证明自己身份的资料,公证机构会对这些资料进行审查,若发现申请的域名不是自身持有的则不会颁发数字证书。课堂实践一、任务名称:分析HTTP完整会话过程二、任务内容:使用wireshark、burpsuite获取Web访问数据包,分析一次完整的Web访问会话:TCP三次握手、HTTP请求、HTTP响应、TCP四次分手。三、工具需求:浏览器、wireshark、Burpsuit四、任务要求:完成实践练习后,由老师检查完成情况。课堂思考一、HTTP/1.1协议持久连接有哪几种方式

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论