常见的7种XSS
1. URL Reflection
当URL以某种方式反映在源代码中时,我们可以添加自己的XSS向量/有效负载。对于PHP页面,可以使用斜杠字符(/)在页面名称之后添加任何内容
http://brutelogic.com.br/xss.php/”><svg onload=alert(1)>
需要使用前导标记(“>”)来突破当前标记,以便插入新标记

2. Simple HTMLi (HTML injection)
最简单的输入,恰好在现有标签之间的代码中,在它们之前或之后。无需逃避或破坏任何东西,任何简单的XSS向量(<tag handler=jsCode>)都能完成
http://brutelogic.com.br/xss.php?a=<svg onload=alert(1)>

3. Inline HTMLi
几乎与前一个一样简单,但有一点“>前置突破当前标签
http://brutelogic.com.br/xss.php?b1=”><svg onload=alert(1)>

4. Inline HTMLi: No Tag Breaking
当输入登陆HTML属性并且过滤大于字符(>)时,就不可能像前一种情况那样打破当前标记

http://brutelogic.com.br/xss.php?b3=” onmouseover=alert(1)// 这样既可突破
它关闭了值并为插入onmouseover事件处理程序提供了空间。指向警报(1)后跟双斜线以注释悬挂引号,当受害者将他/她的鼠标指向受影响的输入字段时触发js弹出窗口
5. HTMLi in Js (Javascript) Block
输入有时会进入javascript块(脚本标记),通常是代码的某个变量的值。但是因为HTML标记在浏览器的解析中具有优先权,所以我们可以简单地终止块并插入新标记
http://brutelogic.com.br/xss.php?c1=</script><svg onload=alert(1)>

6. Simple Js Injection

所以要走的是注入javascript代码,尊重语法。一种已知的方法是将易受攻击的变量的值“连接”到我们想要执行的代码。因为我们不能让任何引号挂起,我们首先断开,连接到我们的代码(带减号),然后反向(连接然后插入引号)以获得有效的javascript语法
http://brutelogic.com.br/xss.php?c3=’-alert(1)-‘

7. Escaped Js Injection
在前一种情况下,如果使用反斜杠(\)转义引号(负责转出变量的值),则注入将不起作用(语法无效)。

为此,我们有一个小技巧:逃避逃脱。我们插入一个前导反斜杠来逃避添加的反斜杠然后报价将起作用。在“连接”到我们想要的js代码之后,我们需要注释掉其余部分,因为在注入的剩余部分没有办法重复该过程。
http://brutelogic.com.br/xss.php?c5=\’-alert(1)//

转载:
https://brutelogic.com.br/blog/the-7-main-xss-cases-everyone-should-know/
常见的7种XSS的更多相关文章
- Java常见的几种内存溢出及解决方法
Java常见的几种内存溢出及解决方法[情况一]:java.lang.OutOfMemoryError:Javaheapspace:这种是java堆内存不够,一个原因是真不够(如递归的层数太多等),另一 ...
- java中常见的几种Runtimeexception
转自http://blog.csdn.net/qq635785620/article/details/7781026 一般面试中java Exception(runtimeException )是必会 ...
- JS 跨域问题常见的五种解决方式
一.什么是跨域? 要理解跨域问题,就先理解好概念.跨域问题是由于javascript语言安全限制中的同源策略造成的. 简单来说,同源策略是指一段脚本只能读取来自同一来源的窗口和文档的属性,这里的同一来 ...
- 常见的几种RuntimeException
一般面试中java Exception(runtimeException )是必会被问到的问题 常见的异常列出四五种,是基本要求.更多的....需要注意积累了 常见的几种如下: NullPoi ...
- 避免常见的6种HTML5错误用法
一.不要使用section作为div的替代品 人们在标签使用中最常见到的错误之一就是随意将HTML5的<section>等价于<div>——具体地说,就是直接用作替代品(用于样 ...
- WCF中常见的几种Host,承载WCF服务的方法
1:写在前面 我们都知道WCF在运行的时候必须自己提供宿主来承载服务.WCF 本身没有附带宿主,而是提供了一个 ServiceHost 的类,该类允许您在自己的应用程序中host WCF 服务.然后调 ...
- Java 获取*.properties配置文件中的内容 ,常见的两种方法
import java.io.InputStream; import java.util.Enumeration; import java.util.List; import java.util.Pr ...
- C++中常见的几种异常类型
1.C++具有完善的异常捕获机制,采用try{} catch(){}机制,这是C语言无法比拟的 2.常见的几种异常: bad_alloc: 请求分配内存失败, operator new ...
- ORACLE中常见的几种锁
ORACLE中常见的几种锁: 0:none 1:null 空 2:Row-S 行共享(RS):共享表锁,sub share 3:Row-X 行独占(RX):用于行的修改,sub exclusive 4 ...
随机推荐
- python接口自动化(十九)--Json 数据处理---实战(详解)
简介 上一篇说了关于json数据处理,是为了断言方便,这篇就带各位小伙伴实战一下.首先捋一下思路,然后根据思路一步一步的去实现和实战,不要一开始就盲目的动手和无头苍蝇一样到处乱撞,撞得头破血流后而放弃 ...
- 我不是bug神(JVM问题排查)
Story background 回望2018年12月,这也许是程序员们日夜不得安宁的日子,皆因各种前线的系统使用者都需要冲业绩等原因,往往在这个时候会向系统同时写入海量的数据,当我们的应用或者数据库 ...
- 神经网络——反向传播BP算法公式推导
在神经网络中,当我们的网络层数越来越多时,网络的参数也越来越多,如何对网络进行训练呢?我们需要一种强大的算法,无论网络多复杂,都能够有效的进行训练.在众多的训练算法中,其中最杰出的代表就是BP算法,它 ...
- layui,返回的数据不符合规范,正确的成功状态码 (code) 应为:0
在使用layui的数据表格绑定数据的时候,出现的一些问题, "返回的数据不符合规范,正确的成功状态码 (code) 应为:0" 之后在网上也查找的了许多的资料,也去看了官网的文档 ...
- Bootstarp的安装以及简单的使用方法(pycharm中)
一.安装 首先打开Bootstarp的官网:https://v3.bootcss.com 下载完成后,解压压缩包,把解压后的文件导入pycham中 在HTML页面中的style中导入bootstrap ...
- Dynamics CRM中跨域调用Web API 2
关注本人微信和易信公众号: 微软动态CRM专家罗勇 ,回复224或者20160611可方便获取本文,同时可以在第一间得到我发布的最新的博文信息,follow me!我的网站是 www.luoyong. ...
- Git原理与命令大全
Git (wiki: en chs )是一个免费开源的分布式版本控制系统,由linux内核作者linus Torvalds开发,大型开源项目linux kernel.Android.chromium ...
- js实现在当前页面搜索高亮显示字的方法
在html页面上,有时候会遇到一些检索高亮显示的问题,具体用js是实现的方式,代码展示. Jsp页面设置方式 <li class="pull-left" id="s ...
- pytest进阶之fixture
前言 学pytest就不得不说fixture,fixture是pytest的精髓所在,就像unittest中的setup和teardown一样,如果不学fixture那么使用pytest和使用unit ...
- 使用CAS实现无锁列队-链表
#include <stdlib.h> #include <stdio.h> #include <pthread.h> #include <iostream& ...