XSS攻击使用到的技术主要为HTML和Javascript,也包括VBScript和ActionScript等。XSS攻击对WEB服务器虽无直接危害,但是它借助网站进行传播,使网站的使用用户受到攻击,导致网站用户帐号被窃取,从而对网站也产生了较严重的危害。
从网站开发者角度,防护XSS攻击:
1、输入验证:某个数据被接受为可被显示或存储之前,使用标准输入验证机制,验证所有输入数据的长度、类型、语法以及业务规则。
2、输出编码:数据输出前,确保用户提交的数据已被正确进行entity编码,建议对所有字符进行编码而不仅局限于某个子集。
3、明确指定输出的编码方式:不要允许攻击者为你的用户选择编码方式(如ISO 8859-1或UTF 8)。
4、注意黑名单验证方式的局限性:仅仅查找或替换一些字符(如"<"">"或类似"script"的关键字),很容易被XSS变种攻击绕过验证机制。
5、警惕规范化错误:验证输入之前,必须进行解码及规范化以符合应用程序当前的内部表示方法。请确定应用程序对同一输入不做两次解码。
从网站用户角度,防护XSS攻击
1、使用浏览器,将安全级别设置到“高”
2、安装使用安全软件
3、增强安全意识,只信任值得信任的站点或内容