2.1 Xss(跨站脚本攻击)
2.1.1 原理
恶意web用户通过将恶意脚本代码植入到提供给其他用户使用的页面中来达到攻击的目的
2.1.2 攻击类型:
-
反射型:通过把恶意代码放入url中进行注入,后端解析url并将恶意的代码拼接到html中返回给浏览器,浏览器由于无法识别哪些是恶意代码就会解析执行。由于只有点击了这种带有恶意代码的url后攻击才能生效,所有攻击者往往诱导被攻击者点击攻击者指定的特色url。
-
存储型又称持久型:攻击者通过技术博客中的评论,留言,以及各种可能的方式将恶意代码提交到数据库中,某些用户在打开目标网站时,网站服务端将代码取出并拼接在html中返回给浏览器,浏览器解析执行,混在其中的恶意代码也会被解析执行。
3.DOM型:首先用户会获取到一些恶意代码(恶意代码可能来自url,可能来自数据库,可能来自前端存储如cookies,sessionStorage,localStorage等)然后通过一些javascript的方式执行这些恶意代码,比如通过document.write(),document.innerhtml()等方法把恶意脚本写入html中,浏览器就会解析执行这些恶意代码,或者前端通过eval()方法,setTimeout()方法,setInterval()方法执行恶意代码
2.1.3 攻击带来的危害
攻击者可能会窃取用户的cookies并发送到自己的网站中,或者攻击者会冒充用户的行为,调用目标网站的接口,来执行攻击者执行的操作。
2.1.4 xss攻击的防范:
xss攻击的本质:无非就是提交恶意代码,浏览器执行恶意代码两个部分。
1.从防范提交恶意代码