我想实现OWASP提到的“ JSON Sanitizer”验证。我的理解是,这需要在两个地方完成:
从客户端或其他系统接收到的JSON数据(请求中)-在处理此数据之前,需要在服务器端对其进行清理
JSON数据(作为响应)要发送到客户端-在发送到客户端之前,需要在服务器端清除此数据
仅在该JSON数据上的JSON清理库中调用一个清理方法就足够了吗?
这将执行所有消毒处理还是在这方面进行任何其他验证?
在OWASP JSON消毒转换JSON般的输入语法有效和嵌入式JSON。
它通常用于获取服务器上的即席方法产生的“ JSON”,例如
"{ \"output\": " + stringOfJson + " }"
并确保其在语法上有效,以便可以将其传递到JSON.parse
客户端,并且可以嵌入,以便可以将其嵌入更大的HTML或XML响应中,例如
<script>var jsonUsedByScriptsOnPage = {$myJson};</script>
如果您的客户很可能发送狡猾的JSON,则可以在服务器上使用它。
请注意,您的服务器仍需要将JSON视为不可信,就像它在未使用有效凭据到达的响应中接收到的任何其他字符串一样。
https://github.com/OWASP/json-sanitizer#security解释
清理JSON无法保护应用程序免受混淆代理攻击
var myValue = JSON.parse(sanitizedJsonString); addToAdminstratorsGroup(myValue.propertyFromUntrustedSource);
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句