某不知名博客 某不知名博客
首页
  • 《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-未编码的HTML上下文
        • 学徒-存储型XSS-未编码的HTML上下文
        • 学徒-DOM型XSS-document.write接收器-location.search源
        • 从业者-DOM型XSS-document.write接收器-location.search源-位于select元素内
        • 学徒-DOM型XSS-innerHTML接收器-location.search源
        • 学徒-DOM型XSS-jQuery锚点href属性接收器-location.search源
        • 学徒-DOM型XSS-jQuery选择接收器-hashchange事件
        • 从业者-DOM型XSS-AngularJS表达式-尖括号与双引号HTML编码
        • 从业者-反射型DOM XSS
        • 从业者-存储型DOM XSS
        • 从业者-XSS上下文-HTML标签之间-反射型XSS-大多数标签和属性被阻止
          • 题目
          • 实操
        • 从业者-XSS上下文-HTML标签之间-反射型XSS-除了自定义标签外的所有标签都被阻止
        • 专家-XSS上下文-HTML标签之间-反射型XSS-事件处理程序和href属性被阻止
        • 从业者-XSS上下文-HTML标签之间-反射型XSS-允许使用SVG标签
        • 学徒-XSS上下文-HTML属性中-反射型XSS-尖括号HTML编码
        • 从业者-XSS上下文-HTML属性中-存储型XSS-锚点href属性与双引号HTML编码
        • 从业者-XSS上下文-HTML属性中-反射型XSS-link规范标签
        • 从业者-XSS上下文-JavaScript字符串中-反射型XSS-单引号和反斜杠转义
        • 学徒-XSS上下文-JavaScript字符串中-反射型XSS-尖括号HTML编码
        • 从业者-XSS上下文-JavaScript字符串中-反射型XSS-尖括号双引号HTML编码和单引号转义
        • 专家-XSS上下文-JavaScript URL中-反射型XSS-某些字符被阻止
        • 从业者-XSS上下文-利用HTML编码-onclick属性中的存储型XSS-尖括号双引号HTML编码-以及单引号反斜杠转义
        • 从业者-XSS上下文-模板字面量-反射型XSS-尖括号单引号双引号反斜杠和反引号Unicode转义
        • 从业者-利用跨站脚本-窃取cookie
        • 从业者-利用跨站脚本-捕获密码
        • 从业者-利用跨站脚本-执行CSRF
        • 专家-内容安全策略-反射型XSS-非常严格的CSP保护-悬挂标记攻击
        • 专家-内容安全策略-反射型XSS-绕过CSP保护
        • 专家-客户端模板注入-反射型XSS-无字符串的AngularJS沙箱逃逸
        • 专家-客户端模板注入-反射型XSS-AngularJS沙箱逃逸与CSP的碰撞
      • 跨站请求伪造(CSRF)

      • 跨域资源共享(CORS)

      • 点击劫持

      • 基于DOM的漏洞

      • WebSockets

    • 高级主题

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

从业者-XSS上下文-HTML标签之间-反射型XSS-大多数标签和属性被阻止

# 实验室:XSS上下文-HTML标签间的反射型XSS-大多数标签和属性被阻止

# 题目

此实验室在 搜索功能 中包含一个反射型的 XSS 漏洞,但其使用 Web 应用防火墙(WAF)来防范常见的 XSS 攻击向量。

若要解决实验室问题,请执行跨站脚本攻击,绕过 WAF 并调用print()函数。

笔记

你的解决方案不能带有任何用户交互。另外,你在自己的浏览器中手动调用print()无法解决实验室问题。

实验室-从业者

XSS上下文-HTML标签间的反射型XSS-大多数标签和属性被阻止 >>

- name: 实验室-从业者
  desc: XSS上下文-HTML标签间的反射型XSS-大多数标签和属性被阻止 >>
  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/contexts/lab-html-context-with-most-tags-and-attributes-blocked
  bgColor: '#001350'
  textColor: '#4cc1ff'
1
2
3
4
5
6

# 实操

点击 “ACCESS THE LAB” 进入实验室。

Not Found Image

映入眼帘的是一个熟悉的搜索功能。

Not Found Image

尝试注入经典的script载荷,该标签被阻止。

Not Found Image

在XSS备忘单 (opens new window)中寻找可用的标签。

经过一段时间的尝试后,发现body标签可以使用,但某些属性同样会被阻止。

<body onbeforeprint=console.log(1)>
1
Not Found Image

最终,我发现onresize事件会被放行,可以用来构造载荷。

<body onresize="print()">
1
Not Found Image

在调整窗口大小时,事件中定义的 JavaScript 将会被执行。

但此时有一个问题,我们需要将载荷发送给受害者,他会乖乖地调整窗口大小吗?

Not Found Image

问题先放一放,点击 “Go to exploit server” 进入漏洞利用服务器。

Not Found Image

进入之后,先看下注意事项,确认一下上面的onresize载荷是否适用于 Chrome 浏览器。确认过可用,没毛病。

Not Found Image

将服务器的 “Body” 修改为攻击载荷,此处将存在漏洞的 URL 嵌入iframe标签的src属性中:

<iframe src="https://0a8a0009037475f28454c74e002800d3.web-security-academy.net/?search=<body onresize=print()>">
1

点击 “Store” 保存更改。

Not Found Image

访问漏洞利用 URL,刚刚定义的iframe被成功解析,但其中的 JavaScript 并没有被执行。

因为onresize事件只会在窗口大小被更改时触发,而受害者自行调整窗口的概率太低,这个载荷显然是不合理的。

Not Found Image

我们可以优化iframe载荷,为其添加一个onload事件:

<iframe src="https://0a8a0009037475f28454c74e002800d3.web-security-academy.net/?search=<body onresize=print()>" onload="this.width=1">
1

当iframe标签被加载时,onload事件会被触发 并自动将窗口大小修改为1,而onresize由于窗口大小发生变化,也会被触发 从而执行其中的 JavaScript。

点击 “Store” 保存更改。

Not Found Image

再次访问漏洞利用 URL,在访问的一瞬间,函数 print 被成功调用。

Not Found Image

回到漏洞利用服务器,点击下方的 “Deliver exploit to victim” 将攻击载荷发送给受害者。

Not Found Image

发送之后,实验完成。

Not Found Image

实验完成。

Not Found Image
编辑 (opens new window)
从业者-存储型DOM XSS
从业者-XSS上下文-HTML标签之间-反射型XSS-除了自定义标签外的所有标签都被阻止

← 从业者-存储型DOM XSS 从业者-XSS上下文-HTML标签之间-反射型XSS-除了自定义标签外的所有标签都被阻止→

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