前端过滤xss攻击

yinz163diudiu yinz163diudiu     2022-08-05     180

关键词:

日常开发过程中,对于存在用户交互的一些门户网站等,过滤xss攻击是必不可少的。

此处主要记录下我在工作过程中的简单处理方法。

 

前端过滤XSS攻击, 我这里用的是开源工程 js-xss,官网地址:http://jsxss.com/zh/index.html

 

查看官网可发现,与其他的js库一样,使用js-xss,只需(下载)引入xss.js文件到页面即可。

 注意 : xss.js中主要使用到的方法为 filterXSS()

由于我在开发过程中,提交数据多是以表单序列化直接提交的,所以我重写了一下表单序列化的函数,如下所示:

//序列化表单数据,返回k=v&k=v格式的字符串,查看jquery.js源文件,可发现此处主要是改写了一下$(form).serialize()方法
function serializeForm(id) {
    var form;
    if(typeof id == ‘string‘) {
        form = $("#" + id);
    } else if(typeof id == ‘object‘) {
        form = id;
    }
    var array = form.serializeArray();
    for(var i = 0; i < array.length; i++) {
        array[i].value = filterXSS(array[i].value,{   
            stripIgnoreTagBody :[‘script‘,‘iframe‘],
            stripIgnoreTag  :true
        });;
    }
    return $.param(array);
}

或者如下方法,返回json对象

//序列化表单数据,返回json对象
function getFormData(id) {
    var form;
    if(typeof id == ‘string‘) {
        form = $("#" + id);
    } else if(typeof id == ‘object‘) {
        form = id;
    }
    var array = form.serializeArray();
    var json = {};
    for(var i = 0; i < array.length; i++) {
        json[array[i].name] =  filterXSS(array[i].value,{
            stripIgnoreTagBody :[‘script‘,‘iframe‘],
            stripIgnoreTag  :true
        });
    }
    return json;
}

 

在进行ajax请求时,在提交表单数据时直接调用上面的其中之一即可(不需再调用$(form).serialize())

到此,前端过滤xss就完成了。

前端安全系列:如何防止xss攻击?(代码片段)

前端安全随着互联网的高速发展,信息安全问题已经成为企业最为关注的焦点之一,而前端又是引发企业安全问题的高危据点。在移动互联网时代,前端人员除了传统的XSS、CSRF等安全问题之外,又时常遭遇网络劫持、非法调用Hy... 查看详情

【快学springboot】15、springboot过滤xss脚本攻击

...用的页面中。简而言之,就是作恶用户通过表单提交一些前端代码,如果不做处理的话,这些前端代码将会在展示的时候被浏览器执行。解决XSS攻击,可以通过后端对输入的数据做过滤或者转义,使XSS攻击代码失效。对于过滤XSS... 查看详情

转:前段安全之xss攻击(代码片段)

前端安全 原文链接:https://www.freebuf.com/articles/web/185654.html随着互联网的高速发展,信息安全问题已经成为企业最为关注的焦点之一,而前端又是引发企业安全问题的高危据点。在移动互联网时代,前端人员除了传统的XSS、CSR... 查看详情

pikachuxss(代码片段)

...sp;Cross-SiteScripting跨站脚本简称为“CSS”,为避免与前端叠成样式表的缩写"CSS"冲突,故又称XSS。 XSS是一种发生在前端浏览器端的漏洞,所以其危害的对象也是前端用户。XSS漏洞可以用来进行钓鱼攻击、前端js挖矿、盗... 查看详情

特殊字符的过滤,防止xss攻击

...分析1.防止xss攻击,可以从请求处拦截特殊字符,核心是过滤特殊字符串 查看详情

pikachuxss

...脚本)概述Cross-SiteScripting简称为“CSS”,为避免与前端叠成样式表的缩写"CSS"冲突,故又称XSS。一般XSS可以分为如下几种常见类型:    1.反射性XSS;    2.存储型XSS;    3.DOM型XSS;XSS... 查看详情

前端安全之xss攻击(代码片段)

XSS定义XSS,即为(CrossSiteScripting),中文名为跨站脚本,是发生在目标用户的浏览器层面上的,当渲染DOM树的过程成发生了不在预期内执行的JS代码时,就发生了XSS攻击。跨站脚本的重点不在‘跨站’上,而在于‘脚本’上。大多数X... 查看详情

xss攻击过滤处理

关于XSS攻击XSS是一种经常出现在web应用中的计算机安全漏洞,它允许恶意web用户将代码植入到提供给其它用户使用的页面中。XSS漏洞的危害网络钓鱼,包括盗取各类用户账号;窃取用户cookies资料,从而获取用户隐私信息,或利... 查看详情

springmvc过滤字符防御xss攻击

参考技术A1.参数重写类ParameterRequestWrapper2.读取body参数类RepeatedlyRequestWrapper3.将字节数组转换为字符串HttpHelper4.过滤器RepeatableFilter5.web.xml配置过滤器 查看详情

前端安全之xss攻击(转)(代码片段)

一、XSS攻击XSS(cross-sitescripting跨域脚本攻击)攻击是最常见的Web攻击,其重点是“跨域”和“客户端执行”。有人将XSS攻击分为三种,分别是:  1. ReflectedXSS(基于反射的XSS攻击)  2. StoredXSS(基于存储的XSS攻击)... 查看详情

前端安全

前端安全问题主要有XSS、CSRF攻击XSS:跨站脚本攻击它允许用户将恶意代码植入到提供给其他用户使用的页面中,可以简单的理解为一种javascript代码注入。XSS的防御措施:过滤转义输入输出避免使用eval、newFunction等执行字符串的... 查看详情

手写springboot项目xss攻击过滤器实现

一、先来个简介什么是XSS?百度百科的解释: XSS又叫CSS (CrossSiteScript),跨站脚本攻击。它指的是恶意攻击者往Web页面里插入恶意html代码,当用户浏览该页之时,嵌入其中Web里面的html代码会被执行,从而达到恶意用户的特殊... 查看详情

前端安全之xss攻击

转自:http://www.cnblogs.com/lovesong/p/5199623.htmlXSS(cross-sitescripting跨域脚本攻击)攻击是最常见的Web攻击,其重点是“跨域”和“客户端执行”。有人将XSS攻击分为三种,分别是:1. ReflectedXSS(基于反射的XSS攻击)2. StoredXSS(... 查看详情

利用微软antixsslibrary过滤输出字符,防止xss攻击

假如项目在前期没有过滤客户提交的字符,那么可以在输出的时候,对输出的字符进行过滤,防止出现XSS跨域攻击。原理简单:利用ASP.NETAPI的管道原理,在MessageHandlers中添加一个自定义的处理环节。好了,源代码如下:publicclass... 查看详情

前端技能树,面试复习第36天——浏览器原理:如何预防xss攻击与csrf攻击(代码片段)

-⭐️本文首发自前端修罗场(点击加入社区,参与学习打卡,获取奖励),是一个由资深开发者独立运行的专业技术社区,我专注Web技术、区块链、Web3、答疑解惑、面试辅导以及职业发展。。1.什么是XSS攻击?(1)概念XSS攻击指... 查看详情

django过滤xss攻击

...启了escape,即html转义。何谓转义?就是把html语言的关键字过滤掉。例如,<div>就是html的关键字,如果要在html页面上呈现<div>,其源代码就必须是&a 查看详情

springmvc配置防xss攻击过滤器(代码片段)

参考ruoyi的xss攻击相关代码1.配置filterpublicclassXssFilterimplementsFilter/***排除链接*/publicList<String>excludes=newArrayList<>();@Overridepublicvoidinit(FilterConfigfilterConfig)throwsServletE 查看详情

前端xss攻击

...被动且不好利用,所以许多人常忽略其危害性。但是随着前端技术的不断进步,这方面的问题越来越受关注。举个简单例子:假如你现 查看详情