XSS攻击的手法和防御(简介)

tetsai
原创声明
本文由tetsai原创,转载请注明来源
今天评论区被大佬试了xss攻击,于是想到了这个,想和大家简单分享一下xss攻击是嘛玩意
什么是XSS攻击
其实就是一种未经授权,在网页内插入javascript代码的行为
包括但不限于:非法执行post,get等操作,挖矿,未经授权盗取cookies,显示弹窗等
经典代码:<script>alert(0)</script>
它分为存储型和非存储型
存储型/非存储型XSS的区别
也就是在网页上驻留的,危害较大,因为它不需要用户主动触发,必须清楚。
非存储型的危害较小,而且大多现代浏览器都已经屏蔽掉了它——即URL内不能携带xss代码,否则拦截,但依然需要注意清除。

发生原因
经典例子就是:完全信任用户输入,不加以过滤地显示在了网页上,或者没有考虑到某种情况,过滤不彻底让对方绕过
攻击手法
本人玩过几把XSS
其中最弱智的就是某知名**了(就不透露名字了),它的签名档完全不过滤标签的,最后被我日了
还有就是360doc这个网站,一开始也有存储型xss漏洞,它做了标签过滤,但是过滤不彻底,利用代码:
<img src='#' k='>' onerror=‘alert(0)’>
它本来应该检测到onerror这个标签,然后干掉的,结果因为我中途写了k='>',它的过滤器错误以为img标签已经闭合,就无视掉了后面的onerror,导致XSS漏洞产生
(最近1个月老子登录360odc,它把我号封了,真牛逼,就这么对待漏洞发现者的?差评。

还有一种手法很好玩,就是本来是替换掉<script>标签的,可以故意写成
<sc<script>ript>alert(0)</scr<script>ipt>
当<script>被替换掉的时候,代码就变成了
<script>alert(0)</script>
哈哈,好玩吧?就是文字游戏罢了

更多方法
由于攻击方式特别多,大家感兴趣可以搜素“XSS攻击代码”,里面有各种奇技淫巧,甚至利用了浏览器的bug,这里我就不列举了。
就地实验(滑稽)<script>alert(0)</script>
失算了,wp把尖括号直接河蟹成其他的符合了.....
这么低级的bug不可能不防