如果我的web服务器只提供静态页面,并且我的html页面允许用户运行任何javascript。 '坏'用户能否对我造成任何伤害?允许在我的页面上注入任何javascript。有什么风险?
p.s. 有很多关于关注XSS的讨论,我正在做的更糟。 我让用户注入他/她的JavaScript。 我不明白的是他们可以造成什么样的伤害?
谢谢
如果我的web服务器只提供静态页面,并且我的html页面允许用户运行任何javascript。 '坏'用户能否对我造成任何伤害?允许在我的页面上注入任何javascript。有什么风险?
p.s. 有很多关于关注XSS的讨论,我正在做的更糟。 我让用户注入他/她的JavaScript。 我不明白的是他们可以造成什么样的伤害?
谢谢
我可以使用Firebug或Chrome检查器在浏览器的任何页面上运行JavaScript。如果您允许用户在其他用户的浏览器中运行JavaScript,则唯一的问题就出现了。
不良用户不能对您做任何损害。
但是,用户A可以在页面中插入一些导致用户B烦恼或彻底损坏的JavaScript代码。然后用户B可能会让您对发生的事情负责。
用户可以保存JavaScript并让其他人在以后运行它吗?这就是麻烦所在。
请参阅owasp.org上反映的跨站点脚本。这不仅仅是存储未来攻击的东西。 – atk 2010-09-13 02:38:56
如果用户可以将JavaScript注入您的页面,那么它被称为跨站点脚本(XSS)。
看看存储和反映的跨站脚本之间的区别。两者都可以被视为一个安全漏洞,但存储的XSS具有更大的潜在损害。存储的XSS允许攻击者执行用户的document.cookie的HTTP帖子,作为最坏的情况允许攻击者登录到管理页面。
由于“静态”内容,XSS可能不会成为您网站的关注点。但是随着时间的推移,网站会有变化和改善的趋势,然后那些不可利用的旧错误成为很好的攻击媒介。
告诉我用户输入是否保存并显示回来。如果那么我可以运行下面的代码,这将导致浏览器崩溃
<script>
window.location = "https://www.google.com";
</script>
你的意思是“我的html页面允许用户运行任何javascript”? – Skilldrick 2010-08-13 13:58:49