一、跨站脚本漏洞 跨站脚本攻击(跨站点脚本,通常称为XSS)发生在客户端,可以用于窃取隐私,网络钓鱼,窃取密码和传播恶意代码。 XSS攻击中使用的技术主要是HTML和Javascript,但也包括VBScript和ActionScript。尽管XSS攻击对WEB服务器没有直接的危害,但它在网站的帮助下传播开来,使网站的用户受到攻击,网站的用户帐户被盗,这也对该网站造成了严重的危害。 。 xss类型 (1)非持久性跨站点:反射性跨站点脚本漏洞是当前最常见的跨站点类型。链接中通常存在跨站点代码。当请求此类链接时,跨站点代码将由服务器反射回来。此类跨站点代码未存储在服务器(比如数据库)上。 (2)持久性跨站点:这是跨站点危害的最直接类型,并且跨站点代码存储在服务器(例如数据库)上。常见的情况是用户在论坛上发帖。如果论坛未过滤用户输入的Javascript代码数据,则将导致查看此帖子的其他用户的浏览器执行张贴者嵌入的Javascript代码。 (3)DOM跨站点(DOM XSS):这是在客户端DOM(文档对象模型)中发生的跨站点漏洞,这在很大程度上是由客户端脚本处理逻辑引起的安全问题。 危害 (1)网络钓鱼欺骗:最典型的方法是使用目标网站的反射性跨站点脚本漏洞将目标网站重定向到网络钓鱼网站,或注入网络钓鱼JavaScript来监视目标网站的表单输入,甚至启动一种基于DHTML的更高级的网络钓鱼攻击。 (2)网站黑客攻击:跨站点时,使用IFrame嵌入隐藏的恶意网站或将攻击者定向到恶意网站,或弹出恶意网站窗口等,即可进行黑客攻击。 (3)身份盗用:Cookie是特定网站的用户身份验证标志。 XSS可以窃取用户的Cookie,从而使用Cookie窃取用户对网站的操作权限。如果网站管理员用户cookie被盗,将对网站造成极大伤害。 (4)窃取网站用户信息:当窃取用户的Cookie并获取用户身份时,攻击者可以获得网站上用户的操作权限,从而查看用户的私人信息。 (5)垃圾邮件发送:例如,在SNS社区中,XSS漏洞用于借用被攻击者的身份,以将大量垃圾邮件发送到特定的目标组。 (6)劫持用户的Web行为:某些高级XSS攻击甚至可以劫持用户的Web行为,监视用户的浏览历史记录,发送和接收数据,等等。 (7)XSS蠕虫:XSS 蠕虫可以用来打广告、刷流量、挂马、恶作剧、破坏网上数据、实施DDoS攻击等。 常用的防止xss技术 (1)与SQL注入保护建议一样,假定所有输入都是可疑的,并且必须严格检查输入中的所有单词(例如script和iframe)。这里的输入不仅是用户可以直接与之交互的输入接口,还包括HTTP请求中Cookie中的变量和HTTP请求头中的变量。 (2)不仅要验证数据的类型,还要验证其格式,长度,范围和内容。 (3)不要仅仅在客户端验证和过滤数据,关键过滤步骤是在服务器端执行的。 (4)还应检查输出数据。数据库中的值可以在大型网站的多个位置输出。即使对输入进行了编码和其他操作,也必须在各个输出点进行安全检查。 (5)在发布应用程序之前测试所有已知威胁。