我无法理解存储的xss和反射的xss之间的区别是什么。你能用一个例子告诉我吗?
答案 0 :(得分:2)
存储的XSS意味着某些持久性数据(通常存储在数据库中)未在页面中进行清理,这意味着每个人都可能受到漏洞的影响。例如,想象一个用户'发布的答案不会被转义。如果有人在其上发布了包含某些HTML的主题,那么访问主题页面的每个人都会受到影响!风险通常很重要,因为它会影响所有用户,并且可以迅速普及(典型的例子是Myspace XSS worm,在20小时内影响了100万用户)。
相反,反射的XSS意味着非持久性数据(通常是客户通过表单提交提供的数据)不会被转义。例如,想象一下搜索引擎,在结果列表页面中,您的搜索关键字将被重新显示(而不是清理)。然后你可以把html放在你的研究上,它将被执行。虽然此漏洞的风险不太明显,因为它只影响进行注射的用户,但也可能是一个问题。例如,如果恶意用户向受害者发送带有注入的链接,并且受害者点击该链接。答案 1 :(得分:1)
以简单的方式,我们可以说存储的xxs意味着存储了预先存储的数据,但是反映了xss意味着存储的数据未被存储。
答案 2 :(得分:1)
透视业务对系统的影响
存储的XSS 会持久存储到系统中,因此任何其他人都可以看到存储的内容。例如,如果我在维基百科中编辑一个页面并注入一些javascript代码,那么所有新访问者都可以看到该页面。
另一方面,反映XSS 就像我输入了一些代码,这些代码反映在我身上。这个漏洞一般不会被其他人看到,但是黑客可以利用这种漏洞来进行 clickjacking 。假设搜索结果页面的url参数可以转换为代码脚本。此网址可以通过电子邮件发送给他们,他们会点击它以查看在我们的商业网站上执行的恶意代码。虽然我们的网站中不存在此类代码,但缺少输入验证将导致此类网址在我们的网站上显示恶意内容,就像它在那里一样,并且业主将失去其品牌声誉。