你还能用XSS对付这个过滤器吗

  • 本文关键字:过滤器 XSS regex xss
  • 更新时间 :
  • 英文 :


我有一个配置文件字段,用户可以将数据发布到该字段上。我用以下正则表达式模式/<(.+?)>/ 阻止任何内容

它阻止任何以<并以>结束。这会阻止XSS吗?我的意思是,如果不能使用<>HTML标记。

事实上,有些xss攻击不需要右括号。

例如,此页面列出了一个在IE 中工作的页面

<IMG SRC="javascript:alert('XSS')"

不管怎样,你没有意识到这一点应该给你一个教训。像这样的黑名单很容易出错,注定会失败。您应该使用一个应用适当转义的模板(在这种情况下是HTML实体编码,但这取决于输出将出现在的上下文)。

如果你能逃脱惩罚,就把输入限制在一个安全的字符集,比如字母数字,这样你一开始就不必担心这一点。并确保正确处理unicode和null字符。

浏览器在解析html时非常宽容。我怀疑以下输入在不关闭标签的情况下会起作用:

<input onfocus=alert(1) autofocus type=text 

使用实体转义或白名单代替

哦,还有。不匹配,因此您有另一个旁路:

<script
>

最新更新