目录:
定义-XSS Hole是什么意思?
XSS漏洞是一个Web应用程序,它向具有计算机安全漏洞的用户提供动态内容。 该应用程序是跨站点脚本(XSS),它使攻击者能够利用用户的机密数据,而无需通过诸如同源策略之类的访问控制机制。 将该缺陷更适当地称为XSS孔。
技术百科解释了XSS Hole
例如,用户可能会在Web应用程序中遇到指向某些恶意内容的超链接。 用户可以单击链接,然后转到包含某些公告或电子邮件公告的另一页。 该页面以密码形式收集用户信息。 它还会生成一个恶意输出页面,该页面指示某些伪造的响应,这些伪造的响应经过精心设计,对用户而言是真实的。 用户输入的数据可能会被滥用,或者Cookie盗窃会劫持用户的会话。 根据收集到的数据的敏感性,跨站点脚本的范围从单纯的漏洞到严重的安全漏洞。 利用XSS漏洞后,攻击者可能会绕过组织的访问控制策略。
跨站点脚本的概念基于相同的原始策略。 相同的原始策略规定,使用JavaScript的Web浏览器可以不受任何限制地访问属于同一站点的不同属性和方法。 恶意攻击者可以通过使用JavaScript将恶意代码注入网站来利用相同原始策略的概念。 当用户查看网页时,攻击者可能会收集一些有用的用户信息,例如用户名或密码。
根据Symantec在2007年收集的统计数据,跨站点脚本占使用计算机执行的所有安全攻击的80%。 跨站点脚本有三种类型:
- 非持久XSS:在HTTP请求期间看到非持久类型的跨站点脚本,其中客户端将数据嵌入到HTTP请求中。 当服务器使用客户端发送的数据生成页面时,如果未正确处理请求,则XSS漏洞可能处于活动状态。 HTML页面由内容和表示组成。 如果恶意用户添加了一些未经验证的内容,则会发生标记注入。 用户将通过输入恶意代码请求的信息来损害其安全性。 攻击者可能误导用户使用其他URL,该URL可能包含更复杂的病毒并获取重要的用户信息。
- 永久性XSS:攻击者注入的恶意内容保存在服务器端,所有其他客户端请求都访问修改后的内容,从而带来严重的安全风险。 例如,某些论坛允许用户发布HTML格式的消息。 因此,攻击者可以嵌入JavaScript代码来呈现恶意文本框,以收集诸如密码之类的信息。 攻击者还可以将JavaScript代码配置为保存和传输在文本字段中输入的每个密码。
- 基于DOM的XSS:文档对象模型(DOM)是一种树形结构,表示出现在符合XML标准的文档中的所有标签。 DOM在JavaScript中用于访问和操作HTML标签以及标签内的内容。 攻击者可以注入一段包含适当的DOM语句的恶意JavaScript代码,以访问和修改重要的用户信息。 例如,攻击者可能使用DOM通过不正确的提交将用户信息重定向到第三方恶意网站。