[Computer and Network Security] HTTP and Session Management

TOP 10 Web Attacks
1.Injection
2.Cross-Site Scripting
3.Broken Authentication and Session Management
4.Insecure Direct Object References
5.Cross-Site Request Forgery
6.Security Misconfiguration
7.Insecure Cryptographic Storage
8.Failure to Restrict URL Access
9.Insufficient Transport Layer Protection
10.Unvalidated Redirects and Forwards

一、HTTP基础
同源策略:
SOP防止来自一个源的documents和脚本去获得或设置来自另一个源的document,origin=protocol://host:port
例子:
http://store.company.com/dir2/other.html
http://store.company.com/dir/inner/another.html 同源
https://store.company.com/secure.html 不同源,协议不同
http://store.company.com:81/dir/etc.html 不同源,端口不同
http://news.company.com/dir/other.html 不同源,主机不同

HTTP的状态:
HTTP本身是无状态的:HTTP消息在交换的过程中不存储HTTP请求的任何状态,服务器仅仅是简单地以HTTP请求为根据返回HTP响应。
会话管理:允许以web为基础的系统去创建会话,以便当用户想要做某个动作时,不必再重新认证,简单地讲就是保持状态,三种方法:GET,POST,cookies
GET:将状态信息编码进查询串,http://somesite.com/admin.php?sessionID=12345678
POST:通过表单向页面传递数据,例如,可以包含一个名叫sessionID的隐藏域来表明一个独特的会话
Cookies:cookies就是HTTP状态的令牌(或者叫记号,token),token的形式是name=value。
持久型cookies:存在于浏览器的本地硬盘中(又称cookie jar),有一个过期日期指定这个cookie能保存多久。
会话cookies:存在于内存中,当浏览器关闭时它就过期了。

用户与服务器交互
1.服务器在响应消息中把"cookie"发送给客户端 Set-cookie:sid=12345678
2.客户端在后来的请求中展示cookie,cookie:sid=12345678
3.服务器将传送来的cookie与服务器端保存的信息做匹配,例如,用于认证,或者记住用户的喜好,以及优先选项。

cookies的安全问题
HTTP的信息是明文传送,因此cookies也是。
机密性:攻击者能够读取到会话的状态。
完整性:攻击者可以改变会话状态。
重放:攻击者可以重放cookies(例如,认证凭据)。

二、HTTPS
HTTPS(HTTP with TLS)加密所有的东西,包括cookies,HTTP头部,以及HTTP消息内容。
HTTPS的特征:服务器验证(Server authentication),完整性保护(Integrity protection),机密性保护(Confidentiality protection),有选择性的客户端验证(Optional Client authentication)
使用https://代替http://,使用端口443代替端口80

SSL/TLS
HTTPS是建立在SSL上,SSL(安全套接层;Secure Socket Layer)提供了一种传输层的安全服务,现在是版本3。SSL后来作为TLS(Transport Layer Security,传输层安全)而成为因特网标准,使用TCP来提供一个可靠的点对点服务。SSL由两层组成。

总结:
HTTP的会话管理将状态信息包括进了无状态的HTTP中,Cookies是主要的状态信息组件,需要被合理地保护。





你可能感兴趣的:([Computer and Network Security] HTTP and Session Management)