1先看代码

我们可以看到这是个Medium代码
可以看到,这里对输入进行了过滤,基于黑名单的思想,使用str_replace函数将输入中的删除,这种防护机制是可以被轻松绕过的。如图
漏洞利用:使用双写绕过:ript>alert(/xss/) 成功弹框如图

或者大小写混合绕过:alert(/xss/)
知识链接
1预防XSS
答案很简单,坚决不要相信用户的任何输入,并过滤掉输入中的所有特殊字符。这样就能消灭绝大部分的XSS攻击。
目前防御XSS主要有如下几种方式:
过滤特殊字符
避免XSS的方法之一主要是将用户所提供的内容进行过滤。
使用HTTP头指定类型
header.set("Content-Type","text/j**ascript")
这样就可以让浏览器解析j**ascript代码,而不会是html输出。
2总结
XSS漏洞是相当有危害的,在开发Web应用的时候,一定要记住过滤数据,特别是在输出到客户端之前,这是现在行之有效的防止XSS的手段。