黑客攻防技术宝典-Web实战篇——第三章、Web应用程序技术(HTTP)(二)

黑客攻防技术宝典-Web实战篇——第三章、Web应用程序技术(HTTP)(二)

书接上回

Cookie

Cookie是HTTP协议中一个重要组成部分,也是攻击者利用的一个重要地方。

服务器使用cookie机制向客户发送数据,客户端保存cookie并将其返回服务器。(与其他请求参数不同,用户无需额外操作浏览器自动提交

Set-Cookie作为响应消息头发布cookie
浏览器将Cookie请求头自动添加到随后返回的请求中

Cookie由名/值对组成。一个cookie消息头可以由多个cookie组成,用分号分隔。除了实际值,cookie消息头还可以包含多个属性用于控制浏览器处理cookie方式,如下:

  • expires:用于设定cookie的有效时间,使cookie用永久性的保存在浏览器中。
  • domin:指定cookie的有效域
  • path:指定cookie的有效URL路径
  • secure:如果使用这个属性,仅在HTTPS提交cookie
  • HttpOnly:如果使用这个属性,无法通过JavaScript直接访问cookie。但是不支持所有浏览器

后续会详细讲解cookie

状态码

每个响应头都在第一行包含一个状态码,说明请求结果。根据状态码第一位数字,状态码分为5类:

  • 1xx:提供信息
  • 2xx:请求被成功提交
  • 3xx:客户被重定向其他资源
  • 4xx:请求包含某种错误
  • 5xx:服务器执行时遇到错误

具体状态码详细解释请参考这里

HTTPS

HTTP通过非加密tcp作为传输机制,所以处于适当位置攻击者可以截取。
HTTPS通过SSL传输数据。(SSL升级为TLS)
不管采用何种传输方式,请求与响应应该采取相同方式。

HTTP代理

HTTP代理是协调客户端浏览器和web服务器之间访问的服务器。

当配置浏览器使用代理服务器时,浏览器将所有请求发给代理服务器,代理服务器把请求转交给web服务器,并将响应返回。

代理还有缓存、验证、访问控制服务。

HTTP代理:浏览器会将完整URL放在请求中(URL中包括“http://”),代理服务器会提取主机名称。

HTTPS代理:无法进行SSL握手,这样做会破坏安全隧道从而引起拦截攻击。因此浏览器必须将代理作为一个纯粹的TCP中继(即中转)。客户端通过CONNECT方法请求代理服务器创建一条到达任意目的服务器和端口的TCP链接,代理服务器仅对客户端和服务器之间的后续数据进行盲转发(只是转发,不关心、也不懂发送的内容是什么)。详细参考建立过程参考这里。

HTTP验证

HTTP拥有不同的用户验证方案:

  • Basic:基本验证,请求头中以BASE64编码方式发送用户证书。
  • NTLM:质询-响应式机制,使用了windows NTML协议。
  • Digest:质询-响应式机制,随用户证书一起使用一个随机值MD5校验和。

误解:因为未加密,所以基本验证并不安全?其实可以用HTTPS机制传输防止窃听。

下一篇:Web功能啦,放假了所以每天一更。

你可能感兴趣的:(黑客攻防技术宝典-Web实战篇——第三章、Web应用程序技术(HTTP)(二))