【CVE-2018-11759】Apache mod_jk访问控制的绕过漏洞复现
0x00 漏洞概述
Apache Tomcat JK(mod_jk)Connector是美国阿帕奇(Apache)软件基金会的一款为Apache或IIS提供连接后台Tomcat的模块,用以为Apache或IIS服务器提供处理JSP/Servlet的能力。
由于httpd和Tomcat在路径处理规范上存在差异,因此可以绕过Apache mod_jk Connector 1.2.0版本到1.2.44版本上由JkMount httpd指令所定义端点的访问控制限制。
如果一个只有只读权限的jkstatus的接口可以访问的话,那么就有可能能够公开由mod_jk模块给AJP提供服务的内部路由。
如果一个具有读写权限的jkstatus接口可供访问,我们就能通过修改AJP的配置文件中相关配置来劫持或者截断所有经过mod_jk的流量,又或者进行内部的端口扫描。
0x01 影响版本
Apache mod_jk Connector 1.2.0 ~ 1.2.44
0x02 漏洞评级
高危
0x03 漏洞环境搭建
本文使用docker搭建漏洞环境。
docker环境下载地址:
https://github.com/immunIT/CVE-2018-11759
使用 git 命令把docker文件下载到本地
git clone https://github.com/immunIT/CVE-2018-11759.git
然后进入目录CVE-2018-11759,运行命令 docker-compose up -d 运行环境。
运行完成后浏览器访问http://<你的IP>,出现如下界面则说明环境搭建成功。
0x04 漏洞验证
尝试访问http://<你的IP>/jkstatus,返回无权限访问的页面。
此时在路径 /jkstatus 后加上“;”,再次访问,发现成功绕过访问限制。
0x05 修复建议
目前厂商已发布升级补丁以修复漏洞,补丁获取链接:
https://lists.apache.org/thread.html/6d564bb0ab73d6b3efdd1d6b1c075d1a2c84ecd84a4159d6122529ad@%3Cannounce.tomcat.apache.org%3E
参考文章链接:
https://xz.aliyun.com/t/3974#toc-2
https://www.immunit.ch/blog/2018/11/01/cve-2018-11759-apache-mod_jk-access-bypass/
- 利用Vulnhub复现漏洞 - libssh 服务端权限认证绕过漏洞(CVE-2018-10933)
- Apache struts2 namespace远程命令执行_CVE-2018-11776(S2-057)漏洞复现
- Apache struts2 namespace远程命令执行_CVE-2018-11776(S2-057)漏洞复现
- DVR登录绕过漏洞_CVE-2018-9995漏洞复现
- DHCP命令执行CVE-2018-1111漏洞复现
- 利用Vulnhub复现漏洞 - Drupal Drupalgeddon 2 远程代码执行漏洞(CVE-2018-7600)
- Cacti 授权检查绕过漏洞(CVE-2018-16723)
- CVE-2018-8174漏洞复现及内网渗透攻击
- Adboe Flash远程代码执行_CVE-2018-4878漏洞复现
- Apache JSPWiki跨站脚本执行漏洞(CVE-2018-20242)
- Samba 访问限制绕过安全漏洞(CVE-2018-10919)
- Weblogic任意文件上传漏洞(CVE-2018-2894)复现
- Spring Integration Zip不安全解压(CVE-2018-1261)漏洞复现
- 利用Vulnhub复现漏洞 - Gogs 任意用户登录漏洞(CVE-2018-18925)
- Apache struts2远程命令执行_CVE-2017-9805(S2-052)漏洞复现
- Apache struts2 Freemarker标签远程命令执行_CVE-2017-12611(S2-053)漏洞复现
- Adobe Flash Player 安全限制绕过安全漏洞(CVE-2018-12825)
- [网络安全自学篇] 四十.phpMyAdmin 4.8.1后台文件包含漏洞复现及详解(CVE-2018-12613)
- 利用Vulnhub复现漏洞 - Couchdb 垂直权限绕过漏洞(CVE-2017-12635)
- CVE-2018-12613Phpmyadmin后台 任意文件包含漏洞复现