维基百科提供information about one of the most common scenarios用于利用反映的跨站点脚本攻击 - 使用某种程度的社交工程来诱使毫无戒心的用户点击恶意链接:
- Alice经常访问由Bob主持的特定网站。鲍勃的 网站允许Alice用a登录 用户名/密码对和商店 敏感数据,例如计费 信息。
- Mallory观察到Bob的网站包含反映的XSS 漏洞。
- Mallory制作了一个利用漏洞的URL,并向Alice发送了一个 电子邮件,诱使她点击链接 对于虚假借口下的URL。 此URL将指向Bob的网站, 但是会包含马洛里的恶意 代码,网站将反映。
- Alice登录Bob时访问了Mallory提供的URL 网站。
- 嵌入在URL中的恶意脚本在Alice的浏览器中执行, 好像它直接来自鲍勃的 服务器(这是实际的XSS 漏洞)。可以使用该脚本 将Alice的会话cookie发送给 马洛里。马洛里然后可以使用 会话cookie窃取敏感 爱丽丝可获得的信息 (身份验证凭据,结算 没有爱丽丝知识的信息等。
醇>
现在,当网站恰好是页面驱动的应用程序时,这通常是非常好的示例 - 通过让用户向应用程序提交恶意负载来利用漏洞(更重要的是,通过发布GET登录后请求)反映在响应中。
还有更有趣的攻击向量,尤其是当应用程序使用大量AJAX并且大多数请求是通过HTTP POST进行时要考虑的吗?
修改
如果我不清楚,我想知道适用于反映的XSS攻击的各种类型的攻击媒介,特别是当应用程序的客户端层以不同方式实现时。基于页面的应用程序将具有涉及用户发出的HTTP GET请求的攻击向量,但了解这对于胖客户端应用程序(尤其是使用发出HTTP POST请求的XMLHttpRequest对象的应用程序)的影响将会很有趣。客户端渲染中使用的不同机制显然需要研究不同的攻击向量。在某些情况下,可能没有任何适用的攻击媒介;表达的问题是引起这样的回应。
答案 0 :(得分:3)
是的,实际上反射XSS攻击有一些变化。最值得注意的是Samy Worm。简而言之,Samy使用XSS将XHR发送到MySpace.com以读取CSRF令牌并伪造POST请求。实际上,这是一种通用攻击模式,可用于攻击使用httponly cookies的网站。随着httponly cookie的使用变得越来越流行,这种攻击模式也将如此受欢迎。
另一个xss有效负载是XSS Shell。这为攻击者提供了一个浏览器的交互式通道。
XSS用于传递“Drive-By-Download”攻击。
Xss也可用于fake the news。经常发现xss对news sources,这是一个相当严重的问题。
编辑:您可能也对Apache基金会got owned如何使用xss和tinyurl感兴趣。 Here是我写的一个利用Samy风格攻击以获得CSRF的漏洞。
答案 1 :(得分:3)
如果您正在寻找严格反映的攻击,则有效负载不应存储在目标应用中的任何位置。在这种情况下,我认为你是正确的,胖客户会趋向于更具抵抗力,因为GET是发起反映XSS攻击的最简单方法。
关于更多攻击向量,关于胖客户端架构的一个有趣的事情是实体编码。瘦客户端可以实体编码所有内容并使用它完成,具有很大的好处。胖客户端实体应该将响应编码为初始GET,但是带有JavaScript的回复的异步请求不能(完全)编码并且是有效的JS。这种来回增加了不编码应该是的东西的机会,这是创建XSS向量的重要一步。
有意义吗?
卡尔
答案 2 :(得分:2)
当页面显示恶意用户输入时,会发生反射XSS。问题是“那里有什么攻击媒介?”因此,“页面接收的用户输入是什么?”是同义词。
有些消息来源:
我意识到“其他形式的输入”部分看起来更像是存储的XSS漏洞,但每个应用程序都是唯一的,有些可能会将用户输入转换为外部部分如何组成页面(因此反映出来)。
来自网络钓鱼邮件的GET请求中的查询字符串肯定不是反映XSS的唯一向量(不过很好)。