👻
security
  • 计算机技术
  • OWASP TOP 10
  • 名词解释
  • 1
    • 常见端口利用
    • F5 big-ip从环境搭建到漏洞复现
    • 红队资源
  • About
    • APT
      • 海莲花(APT-C-00)
        • 样本分析
      • 毒云藤(APT-C-01)
        • 大规模钓鱼攻击活动披露
        • 2020上半年针对我重要机构定向攻击活动揭秘
      • 响尾蛇(T-APT-04)
        • 利用WebSocket隧道的新型攻击活动披露
      • 蔓灵花(APT-C-08)
        • 移动平台攻击活动揭露
      • 蓝宝菇(APT-C-12)
        • 组织使用云存储技术发起的最新攻击活动披露
      • 双尾蝎组织(APT-C-23)
        • 针对中东地区的最新攻击活动
      • Lazarus(APT-C-26)
        • 暴风行动 -利用MATA框架针对数字货币行业的攻击活动揭秘
      • Fancy Bear(APT-C-28)
        • 携小众压缩包诱饵对北约、中亚目标的定向攻击分析
      • 肚脑虫组织(APT-C-35)
        • 使用升级版数字武器针对周边地区的攻击活动
        • 针对巴基斯坦的攻击活动
      • 拍拍熊(APT-C-37)
      • 军刀狮(APT-C-38)
      • 蓝色魔眼(APT-C-41)
        • 组织首次针对我国重要机构定向攻击活动披露
      • 美人鱼(Infy)
        • 使用最新的Foudre后门进行攻击活动的分析
    • 各类靶场讲解
      • sqli-labs
      • upload-labs
      • xss-labs
    • CISP题库
    • Docker
      • Docker基线
        • docker基线-概述
        • 推荐一
        • 推荐二
        • 推荐三
        • 推荐四
        • 推荐五
        • 推荐六
      • 命令与选项
      • 基于Docker的固件模拟
      • 固件相关
      • Docker 私有仓库搭建
      • 基础命令的背后
      • 渗透思路调研
      • Docker容器环境检测方法【代码】
    • 浏览器
    • markdown
    • 密码学
    • 内网渗透TIPS
    • 网络扫描
    • 正则表达式
  • 操作系统
    • Android
      • APK终端安全分析法
      • 应用审计指南
        • 通用审计方法
    • IOS
      • 应用审计指南
    • Linux
      • 反弹shell
      • 基线检查
      • SHELL编程
      • 实战技能
    • windows
      • BACKDOOR with 权限维持
      • 磁盘取证实验
      • 基线检查
      • 免杀抓取明文
      • payload下载方式
      • powershell
      • 日志分析
        • 分析工具
      • Untitled
  • 数据库
    • db2
    • mysql
      • webshell写入
      • 基础知识
      • 核心技术
      • 高级应用
    • oracle
      • webshell写入
    • SQLserver
      • webshell写入
  • 中间件
    • apache
      • 基线检查
      • 日志审计
    • iis
      • 基线检查
      • 7.5解析绕过漏洞
    • nginx
      • 基线检查
    • tomcat
      • 基线检查
  • 编程语言
    • C
    • Java
      • webshell
        • 查杀Java web filter型内存马
        • Filter/Servlet型内存马的扫描抓捕与查杀
        • 基于内存 Webshell 的无文件攻击技术研究
        • 基于tomcat的内存 Webshell 无文件攻击技术
        • Tomcat 内存马检测
      • 代码审计
      • 代码审计指南
      • 浅析Java命令执行
      • 相关框架简介及漏洞
    • PHP
      • 代码审计
      • 破解DVWA-admin密码
      • webshell
        • 常见php一句话webshell解析
        • PHP Webshell Hidden Learning
        • Webshell免杀研究
        • Webshell那些事-攻击篇
        • 过D盾webshell分享
      • 相关框架简介及漏洞
    • python
      • 安全编码规范-代码审计
      • 编码规范
      • fishc
      • 某教程涉及脚本
      • POC编写相关
      • python秘籍
        • 上半部分
        • 下半部分
      • 安全方面的内容
        • Python Opcode逃逸笔记
        • 虚拟机逃逸
      • with-EXCEL
      • 相关框架简介及漏洞
      • 源码剖析
        • 多线程和GIL锁
        • Set容器
        • 统一内存管理
        • 信号处理机制
        • 循环垃圾回收器
        • 字符串对象PyStringObject
        • 整数对象PyIntObject
        • 字节码和虚拟机
    • 汇编
    • Javascript
      • Tampermonkey Script
  • AIGC
    • howtouse
  • 网络
    • CCNA
  • 漏洞类型及讲解
    • 综合
    • 技术分享
      • 暴力破解与信息泄露
      • 信息泄露漏洞_java
      • sqli-with-java
      • python远程命令执行与SSRF
    • SQL-Injectoin
    • Cross-Site Scripting
      • 跨站的艺术-XSS入门与介绍
      • 跨站的艺术-XSS Fuzzing 的技巧
      • 给开发者的终极XSS防护备忘录
      • AngularJS特性的 XSS
    • 文件操作
      • 文件包含
  • how-to-use
    • Acunetix(AWVS)
      • 安装到使用
      • 编写AWVS脚本探测web services
      • 简单分析-web方面
      • 流量分析特征
    • burpsuite
      • 导出报告方式
      • captcha-killer
      • FAKE-IP
      • JSFind
      • 编写插件绕过WAF
    • Cobalt Strike
      • Cobalt Strike Powershell过360+Defender上线
    • FOFA
    • GDB
    • PowerSh
      • 获得Powershell命令的历史记录
      • 深入分析PowerShell的两面性
      • 内网渗透利器之PowerSploit
      • PoC:滥用PowerShell Core
      • 如何绕过PowerShell访问限制并实现PowerShell代码执行
      • 工具包
      • 无powershell运行powershell方法总结
    • sheji
    • sqlmap
      • Atlas修改SQLMap tampers 绕过WAF/IDS/IPS
      • 内核分析
      • 检测剖析
      • tamper
      • UDF
      • --os-shell
      • sqlmapapi
      • with burp
      • 网络特征
    • Matlab
    • Metasploit
      • 与Powershell
    • NESSUS
      • 流量分析特征
      • Untitled
    • Network MapTools
      • 流量特征修改
      • 识别主机指纹
    • waf
      • ngx-lua-waf
      • modsecurity
由 GitBook 提供支持
在本页
  • 简介:什么是 XSS?
  • XSS 类型
  • 反射型 XSS
  • 存储型 XSS
  • DOM XSS
  • 突变 XSS
  • XSS 防护
  • 1、验证输入并且基于语境和按照正确的顺序转义不可信数据

这有帮助吗?

  1. 漏洞类型及讲解
  2. Cross-Site Scripting

给开发者的终极XSS防护备忘录

简介:什么是 XSS?

XSS 或者说跨站脚本是一种 Web 应用程序的漏洞,当来自用户的不可信数据被应用程序 在没有验证以及反射回浏览器而没有进行编码或转义的情况下进行了处理,导致浏览器引 擎执行了代码。

XSS 类型

  • 反射型 XSS

  • 存储型 XSS

  • DOM XSS

  • 突变 XSS

反射型 XSS

反射或者非持久型XSS是当不可信的用户输入被服务器在没有任何验证下处理并在没有编 码或转义的情况下反射回响应文中,导致代码在浏览器执行的一种 XSS 漏洞。

存储型 XSS

存储或持久型XSS是当不可信的用户输入被处理并在没有任何验证的情况下保存在文件或 数据库,同时该不可信的数据从存储中被获取然后在没有编码或转义的情况下反射回响应 文中,导致了永久性的每次存储数据反射回响应文代码就会在浏览器中执行的一种XSS漏 洞。

DOM XSS

DOM XSS 是客户端 XSS 的一种形式,数据来源在 DOM 中,接收器也在 DOM 中,而数 据流从来没有离开浏览器。它发生在一个不可信的数据在源中被给予并被执行,结果导致 修改了 DOM 在浏览器中的“环境”。DOM XSS 攻击发生在不可信数据相对于上下文没 有被编码或转义的情况下。

突变 XSS

mXSS 或突变 XSS 是当不可信数据在 DOM 的 innerHTML 属性的上下文被处理并通过浏 览器发生突变,导致变成一种有效的 XSS 向量的一种 XSS 漏洞。在 mXSS,一个看起来 无害的可以通过客户端或服务端XSS过滤器的用户指定的数据通过浏览器执行引擎发生突 变可以反射回一个有效的 XSS 向量。XSS 过滤器不能防止 mXSS。为了防止 mXSS,应实 施有效的 CSP,框架应该不被允许,HTML 文档应该定义文档类型,强制浏览器遵循标准 呈现内容以及执行脚本。

XSS 防护

如果你可以使得一个 Web 应用程序满足以下规则,XSS 可以被减少。

1、验证输入并且基于语境和按照正确的顺序转义不可信数据

输入验证

所有不可信数据应该针对 Web 应用程序的逻辑在处理和存储前进行验证。

浏览器解析顺序

浏览器解码顺序

解码和解析顺序意味着很多东西。如果对不可信数据的编码或解码以错误的顺序或错误的 环境,将再次有机会导致 XSS 漏洞的发生。编码或者转义对不同的环境要求不同。这些 编码的顺序应该取决于应用程序的逻辑。

一个典型的不可信数据可以反射在 HTML,HTML 属性,脚本变量,脚本块,含状态传 输的参数,URL、风格等中。不同的转义方法为了确保 XSS 的防护必须要在不同的环境 中实现。

顺序和上下文相关转义

1、HTML 中的字符串

对 HTML 中不可信字符串进行 HTML 转义。

Example:

<h1> Welcome html_escape(untrusted string) </html>

符号

编码

&

&amp;

<

>

"

`

'

/

上一页跨站的艺术-XSS Fuzzing 的技巧下一页AngularJS特性的 XSS

最后更新于4年前

这有帮助吗?