上一篇文章:第一章:基础篇—HTTP方法、URL、消息头讲解(2)
第一章:基础篇---Cookie、状态码、HTTPS、HTTP身份验证
1.cookie的介绍、构成
(1)Cookie 简介:
Cookie是HTTP协议的一个关键组成部分,攻击者常通过它来利用Web应用程序中的漏洞。
Cookie诞生的最初目的是为了存储web中的状态信息,以方便服务器端使用。
Cookie的本质是一个保存在客户机中的简单的文本文件。
(2)Cookie的处理步骤:
服务器
向 客户端
发送cookie
浏览器
将cookie保存
之后每次http请求
浏览器
都会将cookie自动发送给服务器
端 (cookie 属于常见的请求头之一)(消息头包括了请求头和响应头。所以消息头里面有cookie)
(3)服务器怎样发布cookie?
答:服务器使用 Set-Cookie 响应消息头发布 cookie。
(4)cookie的 组成/格式?
由一个名称(Name)、一个值(Value)和 其它可选属性 组成。
cookie一般由一个名/值 对 构成,但也可包含任何不含空格的字符串。
【cookie本身就是存储在浏览器中的字符串。但这个字符串是有格式的,由键值对 key=value构成,键值对之间由一个分号和一个空格隔开。】
(5)什么样的数据适合存在cookie中?
存储cookie是浏览器提供的功能
存储在cookie中的数据,每次都会被浏览器自动放在http请求中,所以对于那设置“每次请求都要携带的信息(最典型的就是身份认证信息)”就特别适合放在cookie中,其他类型的数据就不适合了。
2.cookie的属性
- expires属性:用于设定cookie的有效时间。若不设该属性,cookie仅用在 当前浏览器 会话中。
- domain属性:用于指定cookie的有效域。
- path属性:用于指定cookie的有效URL路径
- secure属性:如果设置这个属性,则仅在HTTPS请求中提交cookie
- HttpOnly属性:如果设置这个属性,将无法通过客户端JavaScript 直接访问 cookie 。
3.状态码
通过服务器返回的状态码要非常熟练知道是什么含义。
每条HTTP响应消息
都必须在第一行
中包含一个状态码————用来说明请求的结果。
1)根据代码的第一位数字,状态码可分为以下五类:
- 1xx -提供信息
- 2xx -请求被成功提交
- 3xx -客户端被重定向到其他资源
- 4xx -请求包含某种错误
- 5xx -服务器执行请求时遇到错误
2)下面列出渗透测试员在攻击Web应用程序时最有可能遇到的状态码
4.https 和 http代理
HTTP使用普通的非加密TCP
作为其传输机制。
(1)HTTPS
HTTPS本质上与HTTP一样,都属于应用层协议,但 HTTPS 通过安全传输机制------安全套接层(SSL)传送数据,可保护通过网络传送的数据的 隐密性与完整性。
不管是否使用SSL进行传输,HTTP请求与响应都以完全相同的方式工作。
(2)HTTP代理
http代理工具有burp、fiddler等
HTTP代理服务器是一个协商客户端浏览器
与目标Web服务器
之间的服务器。
使用代理服务器时,它会将所有请求提交到 代理服务器,代理服务器 再将请求转发给相关Web服务器。
5.Basic等身份认证方法(HTTP身份验证)
HTTP拥有自己的用户身份验证机制,包括如下几种:
- Basic:它在请求消息头中随每条消息以
Base64编码
字符的形式发送用户证书。 - NTLM:
- Digest:
6.要能看懂请求头、响应头(对方服务器的一些信息)
Web功能
## 服务器端功能
## 客户端功能
## 状态与会话