攻击场景:
开发人员调试代码的时候,Intelij IDE会默认开启JMX 1099端口, April 2018 CPU (6u191, 7u181, 8u171) 之前版本的Java RMI 协议支持 HTTP tunneling,所以可以通过浏览器触发漏洞。serjs[1]使用JavaScript实现了Java原生序列化功能。
使用ysoserial[2]本地监听
java -cp ysoserial-0.0.6-SNAPSHOT-all.jarysoserial.exploit.JRMPListener 1234 Jdk7u21 "calc"
默认情况下使用InteljIDE调试Javaweb项目,IntelijIDE会默认启动Jmx服务,端口是1099。
当开启InteljIDE的开发人员访问恶意页面时就会触发漏洞
[1] https://github.com/mbechler/serjs
[2] https://github.com/frohoff/ysoserial
https://mbechler.github.io/2018/05/21/Java-CVE-2018-2800/
原文 https://mp.weixin.qq.com/s/nYH_FGTrcPVRcpQa90U2Lg