一、XSS攻击:
概念:XSS攻击(Cross Site Scripting),俗称跨站脚本攻击。攻击原理:恶意攻击者在web页面中会插入一些恶意的script代码。
分类:
- 反射型:当用户打开带有恶意代码的URL的时候,网站服务端将恶意代码从URL中取出,拼接在html中并且返回给浏览器端。用户浏览器接收到响应后执行解析,其中的恶意代码也会被执行。
- 存储型:主要是将恶意代码上传或存储到服务器中,下次只要受害者浏览包含此恶意代码的页面就会执行恶意代码,比如我们评论框输入:<script></script> 。
- DOM-Base(基于DOM的XSS攻击):客户端从URL中提取数据并且在本地执行、如果用户在客户端输入的数据包含了恶意的js脚本的话,但是这些脚本又没有做任何过滤处理的话,那么我们的应用程序就有可能受到DOM-based XSS的攻击。
危害:
- 窃取用户cookies资料,从而获取用户隐私信息,或利用用户身份进一步对网站执行操作;
- 强制弹出广告页面、刷流量等;
- 结合其他漏洞,如CSRF漏洞,实施进一步作恶。
预防:
- 既然是不合理的输入,那最先想到的就是过滤,对可以输入的地方进行过滤操作,比如<script>、<img>、<a>等标签进行过滤
- 编码:像一些常见的符号,如<>在输入的时候要对其进行转换编码输出
- 对于cooki需要设置http-only,防止cookie被盗。