文章预览
背景 GeoServer 是 OpenGIS Web 服务器规范的 J2EE 实现,利用 GeoServer 可以方便的发布地图数据,允许用户对特征数据进行更新、删除、插入操作。在GeoServer 2.25.1, 2.24.3, 2.23.5版本及以前,未登录的任意用户可以通过构造恶意OGC请求,在默认安装的服务器中执行XPath表达式,进而利用执行Apache Commons Jxpath提供的功能执行任意代码。from https://github.com/vulhub/vulhub/blob/master/geoserver/CVE-2024-36401/ 本文主要研究如何武器化利用,注入内存马。 注入内存马 目前市面上公开的POC主要是做到了命令执行: exec ( java . lang . Runtime . getRuntime (), 'touch /tmp/success2' ) Apache XPath解析表达式是支持链式调用的,是非常常见的一个表达式注入场景。虽然也可以用ClassPathXmlApplicationContext或者JNDI这种远程加载的方式去加载类,但是总归是有限制,不优雅。可以参考我之前在Kcon上讲过的议
………………………………