如果我的网络服务器只提供静态页面,我的html页面允许用户运行任何javascript。 “坏”用户可以对我造成任何伤害吗?
P.S。 有很多关于关注XSS的讨论,我正在做的事情更糟糕。 我让用户注入他/她的javascript。 我不知道的是他们会造成什么样的伤害?
由于
答案 0 :(得分:3)
我可以使用Firebug或Chrome检查器在浏览器的任何页面上运行JavaScript。唯一的问题是,如果您允许用户在其他用户的浏览器中运行JavaScript。
答案 1 :(得分:3)
没有。坏用户不能对你造成任何损害。
但是,用户A可以在页面中插入一些JavaScript代码,这些代码会对用户B造成烦扰或彻底的损害。用户B可能会让您对发生的事情负责。答案 2 :(得分:2)
如果用户可以将javascript注入您的页面,则称为跨站点脚本(XSS)。
查看存储和反映的跨站点脚本之间的区别。两者都可以被视为安全漏洞,但存储的XSS具有更大的潜在损害。存储的XSS允许攻击者对用户的document.cookie进行HTTP发布,最糟糕的情况是允许攻击者登录管理页面。
由于“静态”内容,您的网站可能不会关注XSS。但是随着时间的推移,网站有改变和改进的趋势,然后那些不可利用的旧漏洞成为很好的攻击媒介。
答案 3 :(得分:1)
由于您只提供静态页面,因此风险较低;但仍存在风险。以下是攻击者可以做的一些事情
攻击者可以将代码重写为可以将页面的HTML重写为他想要的内容。这样,他创建的虚构内容似乎来自你。这可能意味着将您的产品价格列为0美元(或者可笑的低价)。或者它可能是关于贵公司的假新闻。然后,他通过facebook / twitter / digg等分享链接,人们开始访问注入的页面并相信攻击者希望他们相信的任何内容。
他可以将锚标记注入您的页面,链接到其他网站 - 例如成人网站。然后,他得到谷歌用html注入索引页面。通过这种方式,他人为地提高了成人网站的受欢迎程度,因为谷歌认为您的网站链接到成人网站。
如果您有来自同一域的任何管理页面,攻击者可以使用XSS窃取凭据并进入您的服务器。
这些是我脑子里的少数人;我确信攻击者可以想到其他问题。
答案 4 :(得分:0)
用户可以保存JavaScript并让别人以后再运行它吗?这就是问题所在。
答案 5 :(得分:0)
告诉我用户输入是否已保存并显示回来。如果那时我可以运行以下代码将导致浏览器崩溃
<script>
window.location = "https://www.google.com";
</script>