xss跨站脚本攻击(Cross Site Scripting,因与css样式表相似故缩写为XSS)。恶意攻击者往Web页面里插入恶意Script代码,当用户浏览该页之时,嵌入其中Web里面的Script代码会被执行,从而达到恶意攻击用户的目的。
xss类型一般分为三种:
①反射型XSS
反射型XSS只是简单的把用户输入的数据“反射”给浏览器.也就是说需要诱使用户“点击”一个恶意链接,才能攻击成功。反射型XSS也叫作“非持久型XSS”
②储存型XSS
储存型XSS会把用户输入的数据“储存”在服务器端。这种XSS具有很强的稳定性
DOM Based XSS
实际上,这种类型的XSS并非按照“数据是否保存在服务器端”来划分的,从效果上来说也是反射型XSS单独划分出来的,因为DOM Based XSS 的形成原因比较特别。这是由于客户端脚本自身解析不正确导致的安全问题。
xss的防御
现在的XSS如此流行,原因何在。我想大家应该都知道,就是在输入的时候没有做严格的过滤,而在输出的时候,也没有进行检查,转义,替换等
所以防范的方法就是,不信任任何用户的输入,对每个用户的输入都做严格检查,过滤,在输出的时候,对某些特殊字符进行转义,替换等
XSS攻击解决办法
请记住两条原则:过滤输入和转义输出。
具体执行的方式有以下几点:
第一、在输入方面对所有用户提交内容进行可靠的输入验证,提交内容包括URL、查询关键字、http头、post数据等
第二、在输出方面,在用户输内容中使用<XMP>标签。标签内的内容不会解释,直接显示。
第三、严格执行字符输入字数控制。
四、在脚本执行区中,应绝无用户输入。
另外一种攻击方式请参考csrf攻击原理及如何防止csrf攻击