HTTP协议基础
- 静态WEB
- 动态WEB
- 应用程序
- 数据库
- 每人看到的内容不同
- 根据用户输入返回的不同结果
- Web攻击类型有数百种
Web攻击面
- .NETwork------网络
- OS------操作系统
- Web Server------服务器端
- App Server------服务器端软件
- Web Application------中间件软件
- Database-----数据库
- Browser------浏览器
HTTP协议基础
- 明文
- 无内建的机密性安全机制
- 嗅探或代理截断可查看全部明文信息
- https只能提高传输层安全
- 无状态
- 每一次客户端和服务器端的通信都是独立的过程
- WEB应用需要跟踪客户端会话(多步通信)
- 不适用cookie的应用,客户端每次请求都要重新身份验证(不现实)
- Session用于在用户身份验证后跟踪用户行为轨迹
- Cycle
- 重要的header
- Set-Cookie:服务器发送客户端的SessionID(被窃取的风险)
- Content-Length:响应body部分的字节长度
- Location:重定向用户到另一个页面,可识别身份认证后允许访问的页面
- Cookie:客户端发回给服务器证明用户状态的信息(头:值成对出现)
- Referrer:发起请请求之前用户位于哪个页面,服务器基于此头的安全限制很容易被修改绕过
HTTP状态码
- 服务端响应的状态码表示响应的结果类型(5大类50多个具体响应码)
- 100S:服务器响应的信息,通常表示服务器还有后续处理,很少出现
- 200S:请求被服务器成功接收并处理后返回的响应结果
- 300S:重定向,通常在身份认证成功后重定向到一个安全页面(301/302)
- 400S:表示客户端请求错误
- 401:需要身份验证‘
- 403:拒绝访问
- 404:目标未发现
- 500S:服务器内部错误(503:服务不可用)
状态码查看
HTTP/1.1: Status Code Definitions