跨站脚本编制漏洞

时间:2022-12-25 22:50:31

跨站脚本编制漏洞

安全风险:可能会窃取或操纵客户会话和 cookie,它们可能用于模仿合法用户,从而使黑客能够以该用户身份查看或变更用户记录以及执行事务
可能原因:未对用户输入正确执行危险字符清理 
技术描述:“跨站点脚本编制”攻击是一种隐私违例,可让攻击者获取合法用户的凭证,并在与特定 Web 站点交互时假冒这位用户。 这个攻击立足于下列事实:Web 站点中所包含的脚本直接将用户在 HTML 页面中的输入(通常是参数值)返回,而不预先加以清理。 如果脚本在响应页面中返回由 JavaScript 代码组成的输入,浏览器便可以执行输入中的代码。 因此,有可能形成指向站点的若干链接,且其中一个参数是由恶意的 JavaScript 代码组成。 该代码将在站点上下文中(由用户浏览器)执行,这授权它通过用户浏览器访问用户所拥有的站点 Cookie 以及站点的其他窗口。 
攻击依照下列方式继续进行:攻击者诱惑合法用户单击攻击者生成的链接。 用户单击该链接时,便会生成对于 Web 站点的请求,其中的参数值含有恶意的 JavaScript 代码。 如果 Web 站点将这个参数值嵌入在响应的 HTML 页面中(这正是站点问题的本质所在),恶意代码便会在用户浏览器中运行。 
脚本可能执行的操作如下: 
[1] 将用户的 cookie(针对合法站点)发送给攻击者。 
[2] 将可通过 DOM(URL、表单字段等)访问的信息发送给攻击者。 结果是在易受攻击的站点上,受害用户的安全和隐私受到侵害。 
部分注意事项如下: 
[1] 虽然受攻击的 Web 站点涉入其中,但它没有直接受害。 它被用作攻击者发送的恶意脚本的“跳板”,用来以合法身份返回受害者的浏览器。 不过,由于受害者的隐私是在特定站点的上下文中受到侵害,并且由于站点有直接责任,因此,这将视为站点的安全缺陷。 
[2] 如果受害的用户所访问的站点由攻击者来维护,攻击者便可以使用 Web 站点链接来提供恶意的链接。 如果攻击者知道用户的电子邮件地址,且用户的电子邮件客户端使用浏览器来呈现 HTML 消息,恶意的链接也可以由电子邮件来提供。 
[3] 用户输入在表单字段值(即 URL 参数)中最常见,但也有已知的攻击将恶意的代码嵌入路径、查询,或 HTTP Referrer 头中,甚至是嵌入 Cookie 中。