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

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

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

Carsaid

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

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

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

  • 服务器端主题(翻译)

  • 客户端主题(翻译)

  • 高级主题(翻译)

  • 扩展阅读(翻译)

    • 带外应用安全测试(OAST)
    • 异步漏洞搜寻
    • 打破透明化-定位HTTP的隐藏攻击面
    • 年度Web黑客技术

    • XSS

      • 检测和利用样式表相对路径导入(PRSSI)漏洞
      • 在XSS中隐藏input字段
      • 没有HTML的XSS-使用AngularJS进行客户端模板注入
      • 使用基于DOM的悬挂标记规避CSP
      • 没有括号和分号的XSS
      • 56个字符的AngularJS CSP旁路
      • 记录不可能的事-无法利用的XSS实验室
      • alert()已死, print()万岁
        • alert()已死, print()万岁
        • print()
    • CORS

    • 服务端模板注入

    • Web缓存投毒

    • HTTP请求走私

    • OAuth身份验证漏洞

    • 原型链污染

    • PortSwigger以外的内容

  • 个人学习笔记

  • 实验室做题记录

  • BurpSuite及官方实验室
  • 扩展阅读(翻译)
  • XSS
carsaid
2023-08-04
目录

alert()已死, print()万岁

翻译

原文:https://portswigger.net/research/alert-is-dead-long-live-print

- name: 翻译
  desc: 原文:https://portswigger.net/research/alert-is-dead-long-live-print
  bgColor: '#F0DFB1'
  textColor: 'green'
1
2
3
4

# 1alert()已死, print()万岁

Not Found Image

几十年以来,跨站脚本 (opens new window)与alert()函数齐头并进。想证明你可以执行任意 JavaScript 吗?那就弹出一个警告。想要以懒惰的方式查找 XSS 漏洞吗?注入一个alert()——在任何地方调用有效负载,看看是否有弹出什么内容。

然而,麻烦正在酝酿中。恶意广告一直在滥用我们心爱的alert来分散访问者的注意力,并从他们的内部iframe对访问者进行社会工程。Google Chrome 浏览器决定禁用跨域iframe中的alert (opens new window),从而解决这个问题。跨域iframe通常是故意内置到网站中的,也是某些相对高级的XSS攻击 (opens new window)的基本组成部分。

一旦 Chrome 92 于 2021 年 7 月 20 日发布,跨域 iframe 中的 XSS 漏洞将:

  • 不再启用基于 alert 的 PoC。
  • 使用基于 alert 的检测技术对任何人都不可见。

接下来呢?最直接的解决方法是使用prompt或confirm,但不幸的是,Chrome 的缓解措施阻止了所有对话框。OAST技术 (opens new window)是另一种潜在解决方案,其需要监听任何触发的DNS回调 (opens new window),但由于配置要求,不太适合作为 PoC。我们还排除了console.log(),因为控制台函数经常被 JavaScript 混淆器转发或禁用。

有趣的是,这种针对跨域显示对话框的 “保护” 会阻止alert和prompt,但正如Yosuke Hasegawa指出 (opens new window)的那样,他们忘记了 Basic 身份验证。这适用于当前版本的 Chrome Canary。不过,将来可能依然会被阻止。

我们需要一个 alert 替代方案:

  • 简单、免设置,易于记忆
  • 高度可见,即使在不可见的 iframe 中执行也是如此

经过数周的深入研究,我们很高兴为您带来...

# 2print()

Not Found Image

我们将很快更新 我们的网络安全学院实验室,以支持基于print()的解决方案。XSS 备忘单也将更新,以反映使用跨域iframe时的新print()有效负载。当不涉及iframe时,我们将继续使用alert......暂时而已。

print 万岁!

- Gareth & James

编辑 (opens new window)
记录不可能的事-无法利用的XSS实验室
利用CORS错误配置获取比特币和赏金

← 记录不可能的事-无法利用的XSS实验室 利用CORS错误配置获取比特币和赏金→

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