`

也谈一谈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>

  

 

分享到:
评论

相关推荐

    浅谈跨网站脚本攻击(XSS)的手段与防范(简析新浪微博XSS攻击事件)

    新浪微博攻击事件跨网站脚本(Cross-sitescripting,通常简称为XSS或跨站脚本或跨站脚本攻击)是一种网站应用程序的安全漏洞攻击,是代码注入的一种。它允许恶意用户将代码注入到网页上,其他用户在观看网页时就会受...

    PHP开发中常见的安全问题详解和解决方法(如Sql注入、CSRF、Xss、CC等)

    浅谈Php安全和防Sql注入,防止Xss攻击,防盗链,防CSRF 前言: 首先,笔者不是web安全的专家,所以这不是web安全方面专家级文章,而是学习笔记、细心总结文章,里面有些是我们phper不易发现或者说不重视的东西。所以...

    浅谈React 属性和状态的一些总结

    一、属性 ...&lt;ClaaNameA xss=removed&gt; //定义一个函数 2、第二种方法:三个点的展开对象形式 var props = { one :”123”, tow :321 } 增加三个引号相当于这里面拿到两个属性了(one和two) 3、s

    Blazor.Validation

    在此博客文章中,我想谈一谈使用blazor进行表单验证。 由于在blazor中还没有官方的验证框架,所以我决定自己构建它。 这是实际验证的示例: 那么这是如何工作的呢? 我的blazor组件如下所示: @page " /validation ...

    浅谈js中的attributes和Attribute的用法与区别

    一:Attribute的几种用法和含义(attributes和Attribute都是用来操作属性的) getAttribute:获取某一个属性的值; setAttribute:建立一个属性,并同时给属性捆绑一个... &lt;div xss=removed&gt;&lt;input type = "hidden

    mayre:也许渲染一个React组件,也许不是

    也许渲染一个React组件,也许不是 :face_with_open_mouth: ... &lt; Mayre xss=removed xss=removed&gt; 10 } with = { { some : 'thing' } } / &gt; 请注意, of可以是组件实例或声明。 以及何时可以是布尔值或函数。

    浅谈vue 多个变量同时赋相同值互相影响

    一个项目中需动态渲染一个列表billItemLIsts,列表中包含n组小列表,其中小列表的state_pj用于改变该小列表中的radio,于是: &lt;el tab-position=left xss=removed&gt; (itema,index) key=itema.id label=itema.title...

    javascript针对DOM的应用分析(三)

    如果这个DOM元素没有样式也就谈不上操作了。2.我们也可以直接用JS动态的向html里写入DOM元素。 今天这章我们就讲这两个应用 (一)对html里现有的DOM元素进行操作。 我上面说了,对现有的DOM元素进行操作,无非就是...

    浅谈html5与APP混合开发遇到的问题总结

    背景 在公司参与一个原生APP和h5混合开发的项目,本人在项目中负责h5部分,现将项目...并且不能设置height属性的值(height:100%也不行) 例子 &lt;body&gt; &lt;div xss=removed&gt; //网页内容 &lt;/body&gt; 问题2:t

    浅谈vue获得后台数据无法显示到table上面的坑

    &lt;tr xss=removed&gt; &lt;td&gt;{{user.id}} &lt;td&gt;{{user.name}} &lt;td&gt;{{user.gender}} 然后先是写了这样一个代码 created: function () { axios.get(http://localhost:8080/student/findAll).then(function ...

    php 防止单引号,双引号在接受页面转义

    PHP页面中如果不希望出现以下情况: 单引号被转义为 /’ 双引号被转义为 /” 那么可以进行如下设置以防止: 方法一:在php.ini中设置:magic_quotes_gpc = Off 方法二: $str=stripcslashes($str)  ...

    浅谈Vue Element中Select下拉框选取值的问题

    一个原生的select的,因为展示效果原因,给删除掉了,忘记保存代码了,现在大家展示使用elementUI的下拉框封装一个组件,供咱们项目中经常调用,减少代码量。 html: 请选择 value-key=mateGroup&gt; &lt;el xss=removed...

    1.初探安全.pptx

    【一、安全概念】 1.初探安全 00:36:48 2.网络安全法 00:17:13 3.提问的艺术 00:05:29 【二、环境搭建】 1.搭建phpstudy环境&hosts讲解&cdn讲解 00:24:32 3.搭建Kali Linux和Metasploitable2 00:28:14 【三、学习...

    浅谈javascript函数劫持[转自xfocus]第1/3页

    一、概述 javascript函数劫持,也就是老外提到的javascript hijacking技术。最早还是和剑心同学讨论问题时偶然看到的一段代码,大概这样写的: window.alert = function(s) {}; 觉得这种用法很巧妙新颖,和API Hook...

Global site tag (gtag.js) - Google Analytics