持续更新:整理下渗透测试工作中发现过的漏洞(包含漏洞描述、漏洞等级、漏洞验证、修复建议),这里不深究漏洞产生的各种后利用或者绕过方式,漏洞验证过程不局限于文章中的方法,能够证明漏洞存在即可。
- Java RMI 远程代码执行 -
Java RMI服务是远程方法调用,是J2SE的一部分,能够让程序员开发出基于JAVA的分布式应用。一个RMI对象是一个远程Java对象,可以从另一个Java虚拟机上(甚至跨过网络)调用它的方法,可以像调用本地JAVA对象的方法一样调用远程对象的方法,使分布在不同的JVM中的对象的外表和行为都像本地对象一样。在RMI的通信过程中,默认使用序列化来完成所有的交互,如果该服务器Java RMI端口(默认端口1099)对公网开放,且使用了存在漏洞的Apache Commons Collections版本,就可以在该服务器上执行相关命令。
威胁级别 | 高危 | 中危 | 低危 |
---|
使用Nmap工具对目标服务器端口扫描,探测发现Java RMI服务端口号。
# 指定默认端口探测命令
nmap -vv -sS -sV -p 1099 目标IP地址
# 全部端口探测命令
nmap -vv -sS -sV -p 1-65535 目标IP地址
# 探测结果
PORT STATE SERVICE REASON VERSION
1099/tcp open java-rmi syn-ack ttl 64 Java RMI
输入目标地址端口,使用工具远程执行系统命令。
35cs
上述利用工具不支持多命令拼接执行,可以在vps上设置好监听地址后,使用如下方法反弹shell获取服务器权限。
扫码关注腾讯云开发者
领取腾讯云代金券
Copyright © 2013 - 2025 Tencent Cloud. All Rights Reserved. 腾讯云 版权所有
深圳市腾讯计算机系统有限公司 ICP备案/许可证号:粤B2-20090059 深公网安备号 44030502008569
腾讯云计算(北京)有限责任公司 京ICP证150476号 | 京ICP备11018762号 | 京公网安备号11010802020287
Copyright © 2013 - 2025 Tencent Cloud.
All Rights Reserved. 腾讯云 版权所有