2017-08-30 19 views
2

我无法理解存储的xss和反射的xss之间的区别是什么。你能用一个例子告诉我吗?存储的xss和反映的xss有什么区别?

+0

你对[tag:git]标签有什么意义? git里面应该没有xss – Ferrybig

+0

[this](https://www.owasp.org/index.php/Testing_for_Reflected_Cross_site_scripting_(OTG-INPVAL-001))有帮助吗? – kostix

回答

1

存储的XSS意味着某些持续存在数据(通常存储在数据库中)未在页面中进行消毒,这意味着每个人都可能受到漏洞的影响。例如,设想一个用户发布的答案不会被转义的论坛。如果某人发布了带有一些HTML的主题,那么转到主题页面的每个人都将受到影响!风险通常可能很重要,因为它会影响所有用户并可能迅速普及(典型示例是Myspace XSS worm,这在20小时内影响了100万用户)。

相反,反映的XSS意味着非永久性数据(通常是客户通过表单提交提供的数据)不会被转义。例如,想象一下,在搜索引擎中,在结果列表页面中,您的搜索关键字会重新显示(并且未被清理)。然后你可以把html放在你的研究上,它会被执行。虽然此漏洞的风险不太明显,但由于它只影响进行注入的用户,所以也可能是一个问题。例如,如果一个恶意用户发送了一个链接并将其注入受害者,并且受害者点击该链接。

1

以一种简单的方式,我们可以说存储的xxs表示预存数据被存储,但反映xss意味着预存数据未存储。

+0

niceeeeeeeee和谢谢 – cutieee

1

随着系统

存储XSS业务影响观点一直持续到系统中,因此是别人谁来得快,读取存储内容可见。例如,如果我在wikipedia中编辑页面并注入一些javascript代码,那么所有新访问者都可以看到它。

另一方面反映XSS就像我输入一些代码,这反映了我一个人。这个漏洞通常不会被其他人看到,但是这种漏洞可以被黑客用于点击劫持。假设搜索结果页面的url参数可以转换为代码脚本。这个网址可以通过电子邮件发送给用户,他们会点击它来查看我们的商业网站上执行的恶意代码。虽然在我们的网站上没有这样的代码,但缺乏输入验证会导致这些网站在我们的网站上显示恶意内容,就好像它在那里一样,企业主将失去他们的品牌声誉。