JSON Jackson Library是否像我浏览Jackson文档中的OWASP JSON Sanitizer ?一样具有JSON清理功能,但是找不到任何参考。它仅讨论JSON数据的流传输,遍历和绑定,而没有涉及清理或类似功能。

有人可以确认。

我需要一个可以检查JSON数据中是否存在任何恶意或易受攻击的内容/代码的库。

最佳答案

这种消毒是什么意思?您链接到的页面并没有真正解释它应该做什么。但是我猜想它将用于验证输入是否为有效的JSON,而不是仅类似于JSON的内容(例如Javascript代码)。

现在:如果您的想法是获取声称是JSON的任意内容,则可以在流模式下使用Jackson来读取和写入内容。
自杰克逊以来:


仅接受有效的JSON(而非可执行的Javascript),并且
仅产生格式正确的有效JSON


阅读和写作的结合应该净化输入。您可以执行以下操作:

JsonFactory f = new JsonFactory();
JsonParser p = f.createParser(inputFile);
JsonGenerator g = f.createGenerator(outputFile);

while (p.nextToken() != null) {
  g.copyCurrentStructure(p);
}
p.close();
g.close();


这是确保无效内容不会通过系统的非常快速的方法。

10-07 13:15
查看更多