Http协议基础
Web技术发展【http://www.cnblogs.com/ProgrammerGE/articles/1824657.html】
静态WEB【网页】
动态WEB
- 属于一种应用程序
- 基于数据库
- 每个人看到的内容不同
- 根据用户输入,返回不同结果
WEB攻击类型有数百种
WEB攻击面
1、Network
2、OS
3、WEB Server
4、APP Server
5、Web Application
6、Database
7、Browser
HTTP协议基础【http://www.cnblogs.com/ksxs/articles/772140.html】
明文协议,无机密安全机制
无内建的机密性安全机制
嗅探或代理截断可查看全部明文信息
https只能提高传输层安全【依然可以做中间人攻击】
中间人攻击(伪造证书)【http://www.cnblogs.com/LittleHann/p/3735602.html】
无状态
每一次客户端和服务器段的通信都是独立的过程
WEB应用需要跟踪客户端会话(多步通信)
不适用cookie的应用,客户端每次请求都要重新身份验证【http://www.cnblogs.com/fish-li/archive/2011/07/03/2096903.html】
##cookie等同与session ID
Session用于在用户身份验证后跟踪用户行为轨迹【session会定时失效】
·提高用户体验,但增加了攻击向量
Cycle
请求/响应:
重要的header
Set-Cookie:服务器发给客户端的SessionID (存在被窃取的风险,可冒充别人身份)
Content-Length:响应body部分的字节长度【用于模糊测试】
Location:重定向用户到另一个页面,可识别身份认证后允许访问的页面
Cookie:客户端发回给服务器证明用户状态的信息(头:值成对出现)
Referrer:发起新请求之前用户位于哪个页面,服务器基于此头的安全限制很容易被修改绕过
Host:基于host头进行安全限制很容易被修改绕过
状态码
服务器端响应的状态码白鸥时响应的结果类型(5大类50多个具体状态码)
查看状态码:http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html
100s:服务器响应的信息,通常表示服务器还有后续处理,很少出现
200s:请求被服务器成功接受并处理后返回的响应结果
300s:重定向,通常在身份认证成功后重定向到一个安全页面(301/302)
400s:表示客户端请求错误
1、401:需要身份验证
2、403:拒绝访问
3、404:目标未发现
500s:服务器内部错误(503:服务不可用)