jmxinvokerservlet反序列化
漏洞描述:
JBOSS在/invoker/jmxinvokerservlet请求中读取了用户传入的对象,可利用apache commons collections中的gadget执行任意代码
CommonCollection Gadget主要是由ConstantTransformer,InvokerTransformer,ChainedTransformer构成。gadget主要通过Transformer接口的transform方法,对输入的对象做变换。ConstantTransformer不会做任何变换,只会返回类在实例化时传入的对象,InvokerTransformer会对类在实例化时传入的参数,通过反射去调用,ChainedTransformer将所有的Transformer连接起来,上一个Transformer的transform方法的结果,作为下一个Transformer的transform方法的参数。这样就完成java反序列化的gadget
漏洞复现:
打开环境:
访问/invoker/jbossInvokerServlet会出现下载文件的弹窗
此时可利用ysoserial来反弹shell
生成反弹shell命令
进行base64位编码
生成poc3.ser文件
开启监听端口并且成功反弹shell
修复建议:
禁止将Jboss的JMXInvokerServler接口(默认8080端口)以及jboss web console向外开放
升级jboss到最新版本