前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >基于 SVG 的存储型 XSS

基于 SVG 的存储型 XSS

作者头像
Khan安全团队
发布2022-02-24 09:01:09
1.7K0
发布2022-02-24 09:01:09
举报
文章被收录于专栏:Khan安全团队

方法

找到一个具有许多功能的目标,包括讨论、发现、混音带、短裤、活动等等。我继续查看用户仪表板。

为什么我要在只有我是访问者的用户仪表板中寻找 xss?

好问题!如果我在那里找到 XSS,那么它将被认为是自我 XSS。这没有影响。将 self XSS 转换为有效的 XSS 将是一个挑战。

可以在仪表板外部共享的一个参数是profile picture url. 所以我需要找到一种方法来上传恶意文件而不是 jpeg。

在做了一些研究之后,我发现 svg 被认为是一个图像,它也允许 javascript 执行。单击此处查看 svg_xss 演示

如果你查看这个页面的源代码,你会发现这个 svg dom 中有一个 script 标签

好的,所以我们现在知道我们必须上传 svg 文件而不是有效的 jpeg。

绕过过滤器

只有可以上传的有效文件是 jpeg 或 png 文件。

文件是如何被验证的?

  • 他们正在创建一个仅发送图像标头的 api POST 请求。如果标头有效,则有另一个 POST 请求正在上传实际文件。没有对第二个 POST 请求进行验证。
  • 在这里,我们可以只发送一个有效的 png,然后在第二个请求中,我们可以将 png 内容替换为 svg 有效负载。

成功绕过检查并上传图片后,没有提示框等待我关闭它🙁。后来我发现他们正在使用 ImageMagick 来压缩图像大小。

https://media.redacted.com/img/<image_name>?size=medium只需要删除size参数。它加载了原始的 svg 图像。

这有什么影响?

我们可以编写将 cookie 数据发送到服务器的 XHR 请求,而不是调用 alert。因为它非常关键ACCESS_TOKEN,我们可能会接管某人的帐户。只需向用户发送链接并等待他们点击。

使其成为成功的一键式攻击。

本文系转载,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文系转载前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 方法
  • 绕过过滤器
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档