session劫持防范
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了session劫持防范相关的知识,希望对你有一定的参考价值。
参考技术A session一旦被其他人劫持就非常危险,劫持者可以假装成被劫持者进 行很多非法操作。那么如何有效的防止session劫持呢?其中一个解决方案就是sessionID的值只允许cookie设置,而不是通过URL重置方式设置,同时设置cookie的httponly 为true,这个属性是设置是否可通过客户端脚本访问这个设置的cookie,第一这个可以防止这个cookie被XSS读取从而 引起session劫持,第二cookie设置不会像URL重置方式那么容易获取sessionID。
第二步就是在每个请求里面加上token,实现类似前面章节里面讲的防止form重复递交类似的功能,我们在每个请求 里面加上一个隐藏的token,然后每次验证这个token,从而保证用户的请求都是唯一性。
还有一个解决方案就是,我们给session额外设置一个创建时间的值,一旦过了一定的时间,我们销毁这个 sessionID,重新生成新的session,这样可以一定程度上防止session劫持的问题。
session启动后,我们设置了一个值,用于记录生成sessionID的时间。通过判断每次请求是否过期(这里设置了60秒) 定期生成新的ID,这样使得攻击者获取有效sessionID的机会大大降低。
上面两个手段的组合可以在实践中消除session劫持的风险,一方面, 由于sessionID频繁改变,使攻击者难有机会 获取有效的sessionID;另一方面,因为sessionID只能在cookie中传递,然后设置了httponly,所以基于URL攻击的 可能性为零,同时被XSS获取sessionID也不可能。最后,由于我们还设置了MaxAge=0,这样就相当于session cookie 不会留在浏览器的历史记录里面。
Web服务器点击劫持(ClickJacking)的安全防范
一.介绍
ClickJacking即点击劫持,是一种将恶意代码经过处理使其变成透明、不可见的iframe,并将其覆盖在一个网页上,然后诱使用户在该网页上进行点击操作。通过改变iframe的在页面的位置,可以诱使用户正好点击我们设置好的透明iframe。
二.防御
1.Frame Busting
这种方式是通过写JavaScript来禁止iframe嵌套,因为可以轻易饶过,所以这里不介绍了。具体攻防参照
http://seclab.stanford.edu/websec/framebusting/framebust.pdf
2.设置HTTP请求头(X-Frame-Options)
X-Frame-Options HTTP 响应头,可以指示浏览器是否应该加载一个iframe中的页面。网站可以通过设置X-Frame-Options阻止站点内的页面被其他页面嵌入从而防止点击劫持。
X-Frame-Options共有三个值:
DENY:任何页面都不能被嵌入到iframe或者frame中。
SAMEORIGIN:页面只能被本站页面嵌入到iframe或者frame中。
ALLOW-FROM URI:页面自能被指定的Uri嵌入到iframe或frame中。
例:以限制任何页面都不能被嵌入到iframe为例,分别在apache、IIS和Nginx中配置。
(1).apache配置
修改httpd.conf,添加下面内容。
Header always append X-Frame-Options DENY
如果同一台apache服务器上有多个站点,只想针对其中一个站点进行配置,可以修改.htaccess文件,添加如下内容:
Header append X-FRAME-OPTIONS "DENY"
(2).IIS配置
在web站点的web.config中配置。
<system.webServer>
......
<httpProtocol>
<customHeaders>
<add name="X-Frame-Options" value="DENY" />
</customHeaders>
</httpProtocol>
......
</system.webServer>
(3).Nginx配置
修改nginx.conf,在server下添加下面内容。
add_header X-Frame-Options "DENY";
添加完成如下:
server
listen 80;
server_name www.dqiang.com;
index index.html;
add_header X-Frame-Options "DENY";
以上是关于session劫持防范的主要内容,如果未能解决你的问题,请参考以下文章