也谈一谈XSS

XSS攻击是一个很老的话题了,通常都认为是比较好防范的,但是却很容易忽视,所以今天又来总结下。

关于攻击的总类以及概念不做过多解读了,网上基本一大把,我这里总结下防御方案。XSS攻击是很危险,并且很容易出现,浏览器也做了安全限制,防止跨域访问数据,但是我们都知道jsonp可以饶过这些限制,所以就有了session劫持。

 第一层防御:

在服务端对提交的数据包含URL,header,做一个安全检查过滤,百分之90的攻击可以避免了。这是保护的第一道屏障。

第二层防御:
也叫被动防御,包括服务器本身的网络环境的安全,要保证服务器本身是安全的,不会被注入脚本代码、

第三层防御:

这一层防御被破坏,危害很大,基本能达到攻击目的,比如session劫持。所以我们将放入cookie的关键信息最好设置为httpOnly,这样就不会被脚本获取到,而只能通过http的方式传入本域的服务器。防止session劫持的方案可以将 cookie的安全级别设为httpOnly,这样的话通过脚本无法获取session。在web.xml中加入如下设置。

<session-config>
 
  <cookie-config>
 
    <http-only>true</http-only>
 
  </cookie-config>
 
</session-config>

如果是HTTPS,我们还可以设置的更严格,将属性设置为secure,这样的话不仅脚本不能访问cookie,连http都无法传递这个cookie值,只能以HTTPS传输。

<session-config>
 
  <cookie-config>
 
    <http-only>true</http-only>
 
    <secure>true</secure>
 
  </cookie-config>
 
</session-config>

  

相关推荐