XSS攻击向量

时间:2016-09-10 19:20:20

标签: security xss data-entry server-side-attacks client-side-attacks

除了从文本字段中找到返回页面的文本字段的未经过处理的输入之外,网站有哪些常见的XSS向量?试图阻止恶意访问cookie中的csrf令牌。我正在从文本输入中逃避不安全的字符(可能最终会在Java servlet中添加它,以及在数据库插入或打印到UI之前)。我还应该在哪里寻找XSS进入网站?

1 个答案:

答案 0 :(得分:1)

如果我正确理解了这个问题,您可以通过对UI上输入字段的用户输入进行编码来缓解某些形式的反射和存储的XSS。

你应该知道一些事情:

  • 并非所有用户输入都是通过UI输入字段。 Cookie和请求标头也是用户输入的示例,当然还有隐藏字段或json / xml /任何其他类型的参数。如果您的应用程序处理任何文件或接收除http之外的外部请求,那么这些也是用户输入。甚至数据库的字段也最好被视为用户输入,并在将它们写入页面时进行编码,尤其是当其他组件也写入数据库时​​。
  • 也许在您的应用程序中就是这种情况,但是为了使这个答案更加全面:XSS更多的是输出问题,无论用户输入来自何处,解决方案大多数时候都是输出编码(而不是输入验证/清理本身,尤其不是黑名单)。可能会有一些小心的例外情况,当然输入验证确实很好地补充了正确的输出编码。
  • 应该根据写入数据的上下文选择编码方法(即,在写入javascript块或普通html时需要不同的编码;还要注意javascript块不仅在脚本标记内,而且例如内部事件属性,如onclick和其他)。
  • DOM XSS完全在客户端上,必须在Javascript中进行缓解。请参阅下面的相关OWASP指南。

一般OWASP XSS page非常有用。 他们还有一些指南: