1,AJP是什么?
最近有一个ajp的文件包含漏洞CVE-2020-1938很火,因此就研究了一下tomcat的ajp服务,复现了该漏洞。首先我们来看一下ajp是什么?
ajp是tomcat的一个转发协议,通过这个协议,我们可以在自己的客户端上远程访问另一头的tomcat服务器。例如,原本我们打开tomcat,在自己的浏览器输入localhost就可以访问tomcat,而配置了ajp协议的服务器,就允许你在其它电脑或者客户端,远程访问该tomcat服务器。
2,AJP漏洞的利用
网上搜了一下ajp漏洞的利用,发现原来几年前ajp协议就已经被爆出过漏洞,也是自己很少用到该协议,也不怎么关注。如今这么一个高危漏洞出来,而且poc已经全网转发,不得不重视。ajp协议的端口是8009,如果nmap发现某个机器开放了8009端口,那么就可能存在这漏洞,从而进一步验证。主要步骤如下:
1,找到一个开放8009端口的服务器,在自己的Apache安装目录下找到conf/httpd.conf,将proxy模块打开,事实证明,网上还少添加了2个模块(mod_lbmethod_byrequests.so和mod_slotmem_shm.so),这两个模块打开后,才可以启动apach。
LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_ajp_module modules/mod_proxy_ajp.so
LoadModule proxy_balancer_module modules/mod_proxy_balancer.so
LoadModule proxy_connect_module modules/mod_proxy_connect.so
LoadModule proxy_ftp_module modules/mod_proxy_ftp