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. windows粘贴板操作-自己的应用和windows右键互动

    一.粘贴板操作函数 BOOL OpenClipboard(HWND hWnd);参数 hWnd 是打开剪贴板的窗口句柄,成功返回TRUE,失败返回FALSE BOOL CloseClipboard() ...

  2. Shim 与 Polyfill

    Shim: 用来向后兼容.比如 requestIdleCallback,为了在旧的环境中不报错,可以加 shim. 使用环境中现有的 api 来实现,不会引入额外的依赖或其他技术. Polyfill: ...

  3. 用Docker解决坑爹的环境搭建系列——postgresql

    sudo docker pull postgres mkdir -p /data/docker/pgsql sudo docker run -p 54321:5432 --name pgsql -v ...

  4. TFS线上生成环境发布历程

    继前文 TFS在项目中Devops落地进程(上) TFS在项目中DevOps落地进程(下) 自从之前将开发环境使用TFS进行了自动化之后,就享受在此成果中,其他后续进度就停顿了好一段时间. 毕竟在我们 ...

  5. HTML 练习拖动面板

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  6. 安卓开发笔记(二十五):ViewPager的使用

    首先我们来看看运行之后的效果: 然后我们也不多说废话了,下面是这个项目所需要的全部代码,很多博主写这个都不把代码写完,因此笔者自己也琢磨了一会儿才把这个弄出来,感觉很烦,但我肯定会把代码写全的.我这里 ...

  7. RxJava操作符的简单使用

    一.准备工作在app的build.gradle文件下的dependencies中添加依赖: compile 'io.reactivex:rxjava:1.3.0' compile 'io.reacti ...

  8. 同顶级域名下 通过Cookie 跨域实现单点登陆

    Cookie对于web开发者而言真是一个小甜饼,因为它保留了用户的登录状态.但是当登陆站点在不同域名时就会出现问题了. 在Cookie规范上说,一个cookie只能用于一个域名,不能够发给其它的域名. ...

  9. Android 开发者必知必会的权限管理知识

    本文来自于腾讯Bugly公众号(weixinBugly),未经作者同意,请勿转载,原文地址:https://mp.weixin.qq.com/s/OQRHEufCUXBA3d3DMZXMKQ 导语 本 ...

  10. 自己动手用原生实现 bind/call/apply

    大家好!!!注册一年多的第一篇博客. 自我介绍: 本人非计算机专业出身,转行进入前端半年时间,写的东西可能观赏性不强,一起进步吧道友们... 接下来的一段时间, 我都会不定期整理自己理解的js知识点, ...