为了避免跨站点脚本攻击,我必须清理/验证来自RequestBody的java对象。我可以使用Encoder(来自OWASP)来编码整个java对象。似乎编码器只编码字符串而不能接受对象。我有很多地方有类似的问题,我应该处理这个问题。
有没有办法对整个对象进行清理以避免跨站点脚本问题?
答案 0 :(得分:1)
正如您所注意到的,对输入进行清理以防止XSS(跨站点脚本)仅与字符串相关。编码其他类型要么不可能,要么毫无意义。
为了更好地理解它,您需要真正了解XSS的机制和攻击向量。我建议从这里开始:OWASP XSS
要解决您的问题,创建一个自定义方法是有意义的,该方法在从请求中获取对象后,通过遍历其所有字符串(不要忘记列表和其他数据结构中的字符串)对其进行清理并对其进行编码使用OWASP编码器。
祝你好运!