维基百科提供了有关利用反映的跨站点脚本攻击的最常见方案之一的信息 - 使用某种程度的社交工程来诱导毫无戒心的用户点击恶意链接:
Alice经常访问由Bob托管的特定网站.Bob的网站允许Alice使用用户名/密码对登录并存储敏感数据,例如账单信息.
Mallory观察到Bob的网站包含一个反映的XSS漏洞.
Mallory制作了一个利用漏洞的URL,并向Alice发送了一封电子邮件,诱使她在虚假借口下点击URL的链接.此URL将指向Bob的网站,但将包含Mallory的恶意代码,网站将反映该代码.
Alice登录Bob的网站时访问了Mallory提供的URL.
嵌入在URL中的恶意脚本在Alice的浏览器中执行,就好像它直接来自Bob的服务器(这是实际的XSS漏洞).该脚本可用于将Alice的会话cookie发送到Mallory.然后,Mallory可以使用会话cookie来窃取Alice可用的敏感信息(身份验证凭据,计费信息等),而不需要Alice的知识.
现在,当网站恰好是页面驱动的应用程序时,这通常是非常好的示例 - 通过让用户向应用程序提交恶意负载来利用漏洞(更重要的是,通过在记录时发出GET请求) in)在反应中反映出来.
是否有更有趣的攻击向量,尤其是当应用程序使用大量AJAX时,需要考虑哪些攻击向量,而大多数请求是通过HTTP POST进行的?
编辑
如果我不清楚,我想知道适用于反映的XSS攻击的各种类型的攻击向量,特别是当应用程序的客户端层以不同方式实现时.基于页面的应用程序将具有涉及用户发出的HTTP GET请求的攻击向量,但了解这对于胖客户端应用程序(尤其是使用发出HTTP POST请求的XMLHttpRequest对象的应用程序)的影响将会很有趣.客户端渲染中使用的不同机制显然需要研究不同的攻击向量.在某些情况下,可能没有任何适用的攻击媒介; 表达的问题是引起这样的回应.