上周五参加了公司的“一战到底”比赛,比赛是以安全实战的形式,让参赛者在模拟搭建和线上的网站上寻找按照漏洞的方式进行。
比赛分为四轮,每一轮随即分组搭档找漏洞,其实漏洞方向主要是xss和csrf漏洞,看来这两种漏洞应该是当今比较主流的漏洞。
1、对于xss漏洞,主要是两种:反射式xss和存储式xss。反射式xss一般是页面js代码执行location.href的值或者服务器直接取到href中的参数,没过滤就显示在页面上。对于过滤的情况,很可能是初级的过滤,转码等方式可以轻松绕过。xss漏洞最大的危害就是能泄漏用户隐私,比如很多黑客能执行获取用户cookie发送到指定页面上搜集。
2、对于csrf漏洞,主要原因是因为浏览器的特性,在请求一个网站的资源的时候,如果当前用户在该网站上的cookie没有过期,会自动带上该网站的cookie。这样如果网站上的其他请求没有很好的判断这个请求的来源是很容易被恶意攻击的。比如在a网站里请求b网站的一张图片,
img = new Image(); img.src="http://b.com/xx.jpg"; document.getElmentByTagName("head")[0].appendChild(img);
这时候,请求会自动带上b网站的cookie(如果存在的话)。
对csrf的防御,一般是通过1、为随机数;2、token;3、验证码的方式。