
文章插图
当 DOM XSS 隐藏在数千行代码中时 , 查找 DOM XSS 可能会很棘手 。 我们最近开发了 DOM Invader 来帮助解决这个问题 , 使用组合的动态 + 手动方法来发现漏洞 , 并迅速发现了一个影响 PayPal 的有趣的 Polyglot DOM XSS 。 在这篇文章中 , 我们将展示如何使用意外脚本 gadget 绕过基于允许列表的 CSP 。 大多数现代网站都使用多个 JavaScript 库 , 并且有很多行复杂的压缩代码 , 这使得对 DOM XSS 的测试变得非常令人头痛 , PortSwigger 安全研究部门专门开发了 DOM Invader , 使对 DOM XSS 的测试更加容易 。 DOM Invader 将为你提供一个方便的树状视图 , 以此来显示目标的源和汇(不理解别着急 , 这是 BurpSuite 的一个定义) , 这极大地简化了发现 DOM XSS 的过程 。

文章插图
正如你在上面的截图中看到的 , 我们的 canary 被反映在一个 id 属性中 。 如果我们发送一个双引号 , 则可以看到值如何到达接收器 。 但是当发送双引号时 , 屏幕变为空白 。 但是 , 如果我们转义双引号 , 则站点不会中断 , 我们可以看到它到达接收器:

文章插图
在 HTML 中 , 反斜杠对双引号没有影响——所以我们似乎有一个 XSS 漏洞 。 我们需要通过注入其他字符来确认这一点 , 这将导致 JavaScript 执行 。 在对这个漏洞进行多次探测后 , 我们注意到注入的值必须是一个有效的 CSS 选择器 。 所以我们想出了以下向量:
由于 CSP 的原因 , 这一功能最初并没有发挥作用 , 但当我们在 Burp 中禁用这一功能时 , 我们收到了警报 。 然后 , 我们在 HackerOne 上向 PayPal 报告了这一情况 , 以及禁用 CSP 的说明 。 让我们惊讶的是 , 我们得到了 HackerOne 人员的回应:经过审查 , 您所描述的行为似乎没有任何安全风险或安全影响 。
显然我们不同意这个评估 , 于是开始寻找绕过 PayPal 政策的方法 。
绕过 PayPal 上的 CSP
首先 , 我们研究了 CSP , 并注意到一些薄弱的部分 。 在 script-src 指令中 , 他们允许某些域 , 例如 *.paypalobjects.com 和 *.paypal.com 。 它们还包括 “unsafe-eval” 指令 , 该指令将允许使用 eval、Function 构造函数和其他 JavaScript 执行接收器:

文章插图
查看策略 , 允许列表和 “unsafe-eval” 可能是绕过 CSP 的最佳目标 。 因此 , 我们在 Burp Suite 范围中添加了这些域 。 你可以在作用域中使用正则表达式 , 这非常方便 。 我们的范围是这样的:
Burp 允许你在范围中选择特定的协议 , 由于策略具有 “block-all-mixed-content” 指令 , 我们只选择了 HTTPS 协议 。
在学习了 CSP 之后 , 我们打开了 Burp 中的嵌入式浏览器 , 开始手动浏览网站 , 这是为了挑选那些拥有大量 JavaScript 资源的目标 。 当我们收集了大量的代理历史记录后 , 就可以使用 Burp 出色的搜索功能来查找较旧的 JavaScript 库 。 Burp 允许你只搜索范围项 , 所以我们选中了那个框 , 这允许我们找到绕过 CSP 的资产 。
我们从搜索 AngularJS 开始 , 因为用它很容易创建 CSP 绕过 。 有对 Angular 的引用 , 但没有对 AngularJS 的引用但我们尝试的 JavaScript 文件似乎并没有加载 Angular , 也没有引发异常 。 所以我们转向 Bootstrap , 在请求头和响应体中进行搜索 。 出现了几个 Bootstrap 实例 , 我们发现了一个旧版本 ( 3.4.1 ) 。
- 请问全屋定制家具十大品牌排行榜是怎么样的_其他_舒适100网… 中国十大全屋智能品牌排行榜
- 新的一年,自在生活的12个小方法
- 什么是焦虑症呢 焦虑症有什么危害呢
- 中国动漫电影有哪些? 电影中国动漫大全电影排行榜
- 玻尔和海森堡谁在说谎,哥本哈根的那次谈话?
- 缉毒在播电视剧十大排名2021? 禁毒电视剧大全集排行榜
- 狗狗一生中较大的6个希望,直到今天现已,你帮它进行了好多个?
- 国内中高风险地区可以回咸阳淳化吗
- 2022漳州诏安春节返乡防疫要求
- 什么是恐惧症呢 恐惧症有什么危害呢
特别声明:本站内容均来自网友提供或互联网,仅供参考,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
