前言
先知最近出了一批关于tomcat回显的文章,仔细研究了一下,发现可以用来实现“无文件webshell”以及“反序列化执行命令拿到回显”,本文是总结、搬砖。
各位师傅的文章画一下时间线:
- 《基于内存 Webshell 的无文件攻击技术研究》 主要应用于Spring
- 《linux下java反序列化通杀回显方法的低配版实现》 将回显结果写入文件操作符
- 《Tomcat中一种半通用回显方法》 将执行命令的结果存入tomcat的response返回 shiro无法回显
- 《基于tomcat的内存 Webshell 无文件攻击技术》 动态注册filter实现回显 shiro无法回显
- 《基于全局储存的新思路 | Tomcat的一种通用回显方法研究》 通过Thread.currentThread.getContextClassLoader() 拿到request、response回显 tomcat7中获取不到StandardContext
- 《tomcat不出网回显连续剧第六集》 直接从Register拿到process对应的req
Registry.getRegistry(null,null).getMBeanServer().mbsInterceptor.repository.domainTb.get("Catalina").get("name=\"http-nio-8080\",type=GlobalRequestProcessor").object.resource.processors.get(0).req;
tomcat版本不同,会有nio bio的区别,建议都遍历。