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

知了小姐姐2020-01-291058


Cookie

 

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

 

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

 

Set-Cookie作为响应消息头发布cookie

浏览器将Cookie请求头自动添加到随后返回的请求中

 

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

1.expires:用于设定cookie的有效时间,使cookie用永久性的保存在浏览器中。

2.domin:指定cookie的有效域

3.path:指定cookie的有效URL路径

4.secure:如果使用这个属性,仅在HTTPS提交cookie

5.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拥有不同的用户验证方案:

 

1.Basic:基本验证,请求头中以BASE64编码方式发送用户证书。

2.NTLM:质询-响应式机制,使用了windows NTML协议。

3.Digest:质询-响应式机制,随用户证书一起使用一个随机值MD5校验和。

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

 

  • 培训费用

  • 上课方式

  • 开班时间

  • 就业情况