绕过Firefox的HTML消毒剂API

通过过滤器流过的代码的图片

HTML消毒剂是一个很棒的新API,允许Web开发人员在浏览器中本地过滤不受beplay体育能用吗信任的HTML,而不是使用JavaScript库,例如DOM PURIFY。Microsoft在2008年为Internet Explorer创建了一个类似的API,但它是并且没有被广泛采用或标准化。希望消毒剂将获得更多成功。

使用本机浏览器功能的优点是显而易见的。如果浏览器用于过滤HTML,则可以使用自己的解析器来确保不信任的HTML始终如一地过滤。

但是,与过滤后的HTML的实际现实相比,消毒剂认为的安全性可能存在分歧。一个这样的例子是SVG“使用”元素;我们已经过去显示的“使用”元素可用于执行任意JavaScript通过使用数据URL。

消毒剂通过使用数据URL和相对URL阻止SVG导入来防止这些攻击。但是,只要它们的起源相同,它允许从绝对URL中进口SVG。这意味着,如果目标站点允许上传SVG文件的文件,并通过使用Content-Disposition强制下载:附件来保护它,则仍然可以执行任意JavaScript。

<使用href =“ /beplay官网可以赌/ portswigger-labs.net/use_element/upload.php#x”/>

概念证明

这是消毒剂不正确地过滤的不受信任的HTML的结果:

输入:

<使用href =“ /beplay官网可以赌/ portswigger-labs.net/use_element/upload.php#x”/>

输出:

<使用href =“ beplay官网可以赌// portswigger-labs.net/use_element/upload.php#x”>

结论

用于消毒HTML的浏览器API是一个好主意,因为浏览器可以正确过滤HTML,但这并不意味着它们是防止恶意HTML偷偷摸摸的万无一失的机制。与任何过滤器一样,这样的功能需要大量测试以确保对恶意HTML的正确过滤。

笔记

请注意,这是一个实验性的API,尚未得到广泛支持。

时间线

2022-02-25 09:42 PST-向Mozilla报告了错误
2022-04-29 15:03 PDT-固定
2022-06-28-释放Firefox 102.0
2022-06-29 GMT下午15:00 - 发布了此帖子

XSS 筛选 Firefox

回到所有文章

相关的研究

没有iframe的框架

2022年7月27日没有iframe的框架

广泛的原型污染小工具

2022年6月22日广泛的原型污染小工具

新的XSS向量

2022年4月20日新的XSS向量

通过动态分析进行狩猎基于非CES的CSP旁路

第一个受害者,我们自己的网站beplay体育能用吗2021年9月17日通过动态分析进行狩猎基于非CES的CSP旁路第一个受害者,我们自己的网站beplay体育能用吗

每日Swig的推荐故事beplay2018官网

Gmail的XSS for Email for Email赚取研究人员$ 5,000

2022年8月5日Gmail的XSS for Email for Email赚取研究人员$ 5,000研究人员用灵感风格的标签技巧绕过电子邮件过滤器

铬位点隔离旁路允许广泛的浏览器攻击

2022年8月4日铬位点隔离旁路允许广泛的浏览器攻击打开曲奇修改和数据盗窃的门的缺陷解决了

詹金斯安全

最新插件咨询中包含的未列出的XSS,CSRF错误2022年8月3日詹金斯安全最新插件咨询中包含的未列出的XSS,CSRF错误

三重威胁

开源Web应用程序中的XSS错误的三人可能导致系统妥协beplay体育能用吗2022年8月2日三重威胁开源Web应用程序中的XSS错误的三人可能导致系统妥协beplay体育能用吗