如何用OWASP编码器清理Java对象?

问题描述:

为了避免跨站脚本攻击,我必须清理/验证来自RequestBody的java对象。我可以使用编码器(来自OWASP)编码整个Java对象。看来,编码器将只编码字符串并且不能接受对象。我有许多地方应该处理这个问题的类似问题。如何用OWASP编码器清理Java对象?

是否有任何方法可以清理整个对象以避免跨站点脚本问题?

+0

你的对象包含什么? – yaloner

+0

而且,它以什么方式返回到客户端? – yaloner

+0

该对象包含多个其他属性,包括列表,对象,整数和字符串。通过添加更多的属性值,相同的输入将返回给客户端。 – hemanth

正如您所注意到的,对输入进行消毒以防止XSS(跨站点脚本)仅与字符串相关。编码其他类型要么不可能,要么没有意义。

为了更好地理解它,您需要真正理解XSS的机制和攻击向量。我建议从这里开始:OWASP XSS

解决您的问题,这将是有意义的创建一个自定义的方法,从该请求获得对象后,通过去在它的所有字符串进行消毒它(不要忘了列表和字符串其他数据结构)并使用OWASP编码器进行编码。

祝你好运!