上学的时候,老师教了一个学习中提高记忆的方法,就把知识分类。知识分类之后,就会比较容易记忆。这不,有人就把XSS给分类了,还分的很详细:有反射型XSS,存储型XSS,还有一个比较特别的DOM Base XSS。
唉,我就不明白了,为啥要这样分呢?这样分的目的是啥?是为了容易学习和记忆吗?小编的花了半天的时候,终于把这三个分类给弄明白了,可是我不明白的是,为啥要分类?于是就去问大神,大神说:这样分类,区别对待,为了堵漏洞方便。好像很有道理的样子,纵然我不明白怎么堵。
既然人家已经分好了,我们就学习一下这三种分类吧。
反射型XSS
书上说:反射型的XSS,通常以超链接的形式出现,需要用户点击才能触发。而且payload存在于恶意链接中,特征明显容易被防御。
存储型XSS存储型的XSS,从名字上比较容易理解,就是XSS的payload存储在服务器上的博客,或是评论之中,当有用户访问博客,或是查看评论的时候,就会受到攻击。
此类型的XSS,危害相对较大,而且持久隐蔽。客户端没有有效的防御措施,所以受到黑客的青睐。
在小编看来,这两种类型的XSS,本质的区别不大,都是源于Web后台对用户输入的数据过滤不严格,导致用户提交的payload以js脚本的形式在浏览器得以执行。
DOM Base XSS这个类型的XSS,其实就是反射型的一个变种,利用方式和反射型的类似 ,都是通过恶意链接来触发。不同之处,在于此类型的XSS不需要经过后台的过滤,因此利用起来可能更简单一些。
总结
重要的事说三遍:“永远不要相信用户的任何输入”,这是多少前辈程序员的血泪总结。不是有句老话说的好嘛,“ 宁可相信世上有鬼,也不要相信男人那张嘴“,对于程序员来说,用户输入的任何数据都要经过再三过滤。
现在想想自己之前做过的Web项目,基本是没有考虑过这方面的安全问题。不知道会不会被黑客攻击,不过话说回来了,之前做的项目,基本上没啥用户量,黑客也没有攻击的价值,想到这儿,心里好受多了![捂脸]
,