一、前言
结合内部资料,与安全渗透部门同事合力整理的安全测试相关资料教程,全方位涵盖电商、支付、金融、网络、数据库等领域的安全测试,覆盖Web、APP、中间件、内外网、Linux、Windows多个平台。学完后一定能成为安全大佬!
全部文章请访问专栏:《全栈安全测试教程(0基础)》
文章目录
- 一、前言
- 二、HTTP状态码
- 1)常见状态码
- 2)状态码的含义
- 三、HTTP响应头
- 1)常用标准响应头字段
- 四、HTTP中的URL
- 1)什么是URL
- 2)URL编码格式
- 3)URL同源策略
二、HTTP状态码
HTTP状态码的作用是:Web服务器用来告诉客户端,发生了什么事。
HTTP状态码被分为五大类, 目前我们使用的HTTP协议版本是1.1, 支持以下的状态码。
1)常见状态码
200 OK 服务器成功处理了请求(这个是我们见到最多的)
301/302 Moved Permanently(重定向)请求的URL已移走。Response中应该包含一个Location URL, 说明资源现在所处的位置
304 Not Modified(未修改)客户的缓存资源是最新的, 要客户端使用缓存
404 Not Found 未找到资源
501 Internal Server Error服务器遇到一个错误,使其无法对请求提供服务
2)状态码的含义
状态码为1xx
状态码为2xx
状态码为3xx
状态码为4xx
状态码为5xx
三、HTTP响应头
1)常用标准响应头字段
Access:服务器支持哪些请求方法(如GET、POST等)。
Content-Encoding:文档的编码(Encode)方法。
Content-Length:表示内容长度。
Content-Type:表示后面的文档属于什么MIME类型。
Date:当前的GMT时间。
Expires:应该在什么时候认为文档已经过期,从而不再缓存它
Last-Modified:文档的最后改动时间。
Location:表示客户应当到哪里去提取文档。
Refresh:表示浏览器应该在多少时间之后刷新文档,以秒计。
Server:服务器名字。
Set-Cookie:设置和页面关联的Cookie。
WWW-Authenticate:标识访问请求实体的身份验证方案
响应头示例
HTTP/1.1 302 Found
Date: Sun, 20 Aug 2017 13:38:54 GMT
Server: Apache/2.4.6 (CentOS) OpenSSL/1.0.1e-fips PHP/5.4.16
Location: https://www.aqzhi.com/
Content-Length: 206
Connection: close
Content-Type: text/html; charset=iso-8859-1
四、HTTP中的URL
1)什么是URL
URL是统一资源定位符,是互联网上标准资源的地址
URL包含
- 协议
- 用户名:密码
- 主机 - 子域名.域名.顶级域名(或IP)
- 端口号
- 目录/文件名.文件后缀
- 参数=值
- 标志
格式:
协议://用户名:密码@子域名.域名.顶级域名:端口号/目录/文件名.文件后缀?参数=值#标志
相对URL:
/目录/文件名.文件后缀?参数=值#标志
2)URL编码格式
只有字母和数字[0-9a-zA-Z]、一些特殊符号“$-_.+!*‘(),”[不包括双引号]、以及某些保留字,才可以不经过编码直接用于URL。
编码格式为16进制,每两个16进制前加百分号(%)
例:“你好”的utf-8码为: \xe4\xbd\xa0\xe5\xa5\xbd
“你好”的URL – utf-8格式编码为: %E4%BD%A0%E5%A5%BD
3)URL同源策略
URL格式中,协议,主机,端口三部分相同,才能算是同源。
浏览器设置里,默认情况下只有同源的内容才能相互操作。
- 打开site1.com
- 创建iframe,打开site2.com
- site1.com的js访问site2.com的内容
- 这个时候会报错,不是同源不能进行相关操作。