网络协议——浅谈XSS

XSS

XSS: 攻击者把恶意的脚本代码注入到网页中,等待其他用户浏览这些网页,从而触发执行恶意代码。理论上,所有可输入的地方没有对输入数据进行处理的话,都会存在XSS漏洞,漏洞的危害取决于攻击代码的威力,攻击代码也不局限于script。

类型:

危害性:存储型XSS > DOM型XSS > 反射型XSS

反射型:通过给别人发送带有恶意脚本代码参数的URL,当URL地址被打开时,特有的恶意代码参数被HTML解析、执行,它的特点是非持久化,即不存入数据库
缺点:
①需要用户点击带有特定恶意脚本代码参数的连接才能引起
②恶意代码存放于地址栏中,隐蔽性差。

DOM型:归属于反射型,其基于DOM文档对象模型的一种漏洞,所以受客户端浏览器的脚本代码所影响。客户端的脚本程序可以通过DOM动态地检查和修改页面内容,它不依赖于服务器端的数据,而从客户端获得DOM中的数据(如从URL中提取数据)并在本地执行。

存储型:其相关源代码存放于服务器,用户访问改页面的时候触发代码执行。

防御:

1、使用XSS Filter
2、定制过滤策略
①必须对用户的输入和http的头部进行严格检查,以过滤script、iframe、字符串等
②输入输出都过滤
③执行双层过滤,即客户端和服务器都要过滤
3、输出编码
4、黑名单白名单
5、设置http_only

你可能感兴趣的:(网络协议——浅谈XSS)