session的安全性问题

转载地址:https://blog.csdn.net/u013205877/article/details/77512180

没有绝对的安全!

1.cookie

我们都知道Http是一种无状态性的协议,这种协议不要求浏览器在每次请求中标明他自己的身份,每次发个请求回个相应就完事了,那怎么校验发请求的人的身份呢,这就催生了Cookies.
本质上Cookies就是http的一个扩展,有两个http头部是专门负责设置和发送cookies的(Set-Cookies以及Cookies)当服务器返回给客户端一个http相应的时候,其中如果包含Set-Cookies这个头部,就意味着让客户端建立cookie,并且在后续的请求中自动发送这个cookies到服务器,一直到这个cookie过期

 1. 客户端发送一个http请求到服务器端 
 2. 服务器端发送一个http响应到客户端,其中包含Set-Cookie头部
 3. 客户端发送一个http请求到服务器端,其中包含Cookie头部 
 4. 服务器端发送一个http响应到客户端

这里写图片描述

2.session

最简单的针对session的攻击就是跨站请求伪造 ——CSRF
这里写图片描述

关键点是如何不让攻击者获取到sessionid,然后伪装成正常访问者,但是从理论上来说这是不能绝对实现的,我们只能通过不同的手法增加攻击者获取sessionid的难度

有三种方法


 1. 验证请求头中的数据,比如验证User-Agent的变化  
 2. 增加token校验 
 3. 利用get.post.cookie等不同的传输方式来传递sessionid和token等增加攻击者获取难度

详细的解析:http://www.freebuf.com/articles/web/10369.html

猜你喜欢

转载自blog.csdn.net/brook_/article/details/80993807