首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >XSS攻击允许JS文件上传的网站?

XSS攻击允许JS文件上传的网站?
EN

Security用户
提问于 2020-01-23 09:39:17
回答 1查看 2.5K关注 0票数 2

考虑一个允许用户上传任意JS文件的网站example.com,这些文件随后存储在服务器上,并提供给具有JS内容类型的访问者。攻击者可以利用这个来对example.com执行XSS攻击吗?

起初,我认为答案是肯定的。但是想一想,一个人是怎么做到的还不清楚?如果您只是将受害者指向上传的JS文件的URL,浏览器将下载并显示代码,而不是执行它。除非存在其他漏洞,否则攻击者无法上载HTML文件或强制现有HTML文件包含脚本。将其包含在evil.com上不会有任何帮助,因为这样它就不会在example.com原点运行。

我知道文件上传存在很多安全问题,但这里我只对XSS的潜力感兴趣,如果您允许上传JS的话。

EN

回答 1

Security用户

发布于 2020-01-23 09:50:04

这取决于网站是否允许通过URL包含文件,或者网站是否坚持某些JavaScript以后再运行。

关于远程文件包含的

假设该网站有一个功能,您可以链接到某个外部JavaScript文件并运行该功能。如果这可以通过链接(例如通过example.com?src=evil.com/mal.js )完成,那么这是一个反射的XSS漏洞。

应用程序交互加载远程JavaScript的能力是不够的。它需要通过一个URL来完成,所以受害者唯一要做的就是点击URL。

关于持久化

如果该网站允许用户运行其他人创建的JavaScript,那么您可能存在存储的XSS漏洞,但这取决于站点的结构。例如,如果您访问example.com/mallory/mal/,网站询问您是否确定要由Mallory运行mal.js,并警告运行不受信任的代码的风险,那么您应该没事。如果网站只是运行它,那么我会把它归类为存储XSS。

关于社会工程

有人可能会说,这是一个自XSS的例子,攻击者可以通过社交工程让一个人下载恶意JS文件并在您的网站上运行它。虽然这是一个合理的关切,但我不认为这是一个巨大的脆弱性。您可以通过显示警告来在一定程度上降低此风险,尽管用户可以单击该警告。

票数 1
EN
页面原文内容由Security提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://security.stackexchange.com/questions/224695

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档