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的更多相关文章

  1. Java常见的几种内存溢出及解决方法

    Java常见的几种内存溢出及解决方法[情况一]:java.lang.OutOfMemoryError:Javaheapspace:这种是java堆内存不够,一个原因是真不够(如递归的层数太多等),另一 ...

  2. java中常见的几种Runtimeexception

    转自http://blog.csdn.net/qq635785620/article/details/7781026 一般面试中java Exception(runtimeException )是必会 ...

  3. JS 跨域问题常见的五种解决方式

    一.什么是跨域? 要理解跨域问题,就先理解好概念.跨域问题是由于javascript语言安全限制中的同源策略造成的. 简单来说,同源策略是指一段脚本只能读取来自同一来源的窗口和文档的属性,这里的同一来 ...

  4. 常见的几种RuntimeException

    一般面试中java Exception(runtimeException )是必会被问到的问题 常见的异常列出四五种,是基本要求.更多的....需要注意积累了   常见的几种如下:   NullPoi ...

  5. 避免常见的6种HTML5错误用法

    一.不要使用section作为div的替代品 人们在标签使用中最常见到的错误之一就是随意将HTML5的<section>等价于<div>——具体地说,就是直接用作替代品(用于样 ...

  6. WCF中常见的几种Host,承载WCF服务的方法

    1:写在前面 我们都知道WCF在运行的时候必须自己提供宿主来承载服务.WCF 本身没有附带宿主,而是提供了一个 ServiceHost 的类,该类允许您在自己的应用程序中host WCF 服务.然后调 ...

  7. Java 获取*.properties配置文件中的内容 ,常见的两种方法

    import java.io.InputStream; import java.util.Enumeration; import java.util.List; import java.util.Pr ...

  8. C++中常见的几种异常类型

    1.C++具有完善的异常捕获机制,采用try{}  catch(){}机制,这是C语言无法比拟的 2.常见的几种异常: bad_alloc:       请求分配内存失败, operator new ...

  9. ORACLE中常见的几种锁

    ORACLE中常见的几种锁: 0:none 1:null 空 2:Row-S 行共享(RS):共享表锁,sub share 3:Row-X 行独占(RX):用于行的修改,sub exclusive 4 ...

随机推荐

  1. c#命名规范汇总12条

    前言 在刚学习c#的时候,在脑子根本就么有命名规范这个概念,有了一定入门的基础,也很难严格要求自己去规范代码的命名,工作后,发现自己的命名和其他人的命名总会有一些出入,总会闹出一些尴尬的笑话,这里汇总 ...

  2. [Leetcode]643. Maximum Average Subarray I

    Given an array consisting of n integers, find the contiguous subarray of given length k that has the ...

  3. 强化学习(十八) 基于模拟的搜索与蒙特卡罗树搜索(MCTS)

    在强化学习(十七) 基于模型的强化学习与Dyna算法框架中,我们讨论基于模型的强化学习方法的基本思路,以及集合基于模型与不基于模型的强化学习框架Dyna.本文我们讨论另一种非常流行的集合基于模型与不基 ...

  4. Oracle AWR报告详细分析--比较详细

    https://blog.csdn.net/demonson/article/details/79474133

  5. 通过href链接实现从当前页面跳转到动态页的指定页面的实现方式

    指定页的jsp的href设置 <a href="/lekg/check/shangchuan2.jsp?tabtype=2"><li><img src ...

  6. Python之路【第八篇】:Python模块

    阅读目录 一.模块和包 模块(module)的概念: 在计算机程序的开发过程中,随着程序代码越写越多,在一个文件里代码会越来越长,越来越不容易维护. 为了编写可维护的代码,我们把很多函数分组,分别放到 ...

  7. 当心Azure跨区域数据传输产生额外费用

    最近同事发现Azure上一台虚拟机的费用环比增加了一部分.后面仔细检查发现费用来自数据传输, 因为这是早期部署的一台Azure虚拟机(Iaas),我们在本地生成备份,然后通过AzCopy到存储账号的B ...

  8. 【IIS】解决IIS无响应假死状态,asp突然无法访问重启后可以使用是什么原因

    在IIS6下,经常出现w3wp的内存占用不能及时释放,从而导致服务器响应速度很慢. 可以做以下配置:1.在IIS中对每个网站进行单独的应用程序池配置.即互相之间不影响.2.设置应用程序池的回收时间,默 ...

  9. ipv6地址配置实验(GNS3/ENSP)

    实验拓扑: IPV6地址配置如图所示, 配置ipv6指令(以R2为例,R1类似): int e1/2 R2(config-if)#ipv6 address 2001:db08:acad:1::2/64 ...

  10. JS INPUT输入的时候全角自动转为半角

    function CtoH(obj){var str=obj.value;var result="";for (var i = 0; i < str.length; i++) ...