GeoServer SQL注入漏洞 附检测POC (nuclei)

admin 2023年6月19日13:41:11评论291 views字数 1318阅读4分23秒阅读模式

免责声明:

本文章或工具仅供安全研究使用,请勿利用文章内的相关技术从事非法测试,由于传播、利用此文所提供的信息而造成的任何直接或者间接的后果及损失,均由使用者本人负责,极致攻防实验室及文章作者不为此承担任何责任。

简介:
GeoServer是一款开源的地理数据服务器软件,主要用于发布、共享和处理各种地理空间数据。它支持众多的地图和空间数据标准,能够使各种设备通过网络来浏览和使用这些地理信息数据,所以在学校、水利、天文和航空等需要对地理信息数据进行数据处理的企业目标都可能使用到GeoServer。
利用条件:
  • GeoServer < 2.21.4、2.22.0 <= GeoServer < 2.22.2
  • 使用GeoServer系统创建自定义图层并使用外置数据库(默认情况下GeoServer内置图层并不会使用数据库作为存储方式)
基本原理:
GeoServer在预览图层的时候,可以对图层进行数据过滤从而渲染出指定位置的图层。由于未对用户输入进行过滤,在使用需要以数据库作为数据存储的功能时,攻击者可以构造畸形的过滤语法,绕过GeoServer的词法解析从而造成SQL注入,获取服务器中的敏感信息,甚至可能获取数据库服务器权限。
漏洞检测:
通过GeoServer的

WFS

获取相应功能,然后对获取的typename以及column,进行sql注入漏洞探测:

./nuclei -u http://www.xxx.com/ -t geoserver/CVE-2023-25157.yaml
GeoServer SQL注入漏洞 附检测POC (nuclei)
nuclei检测poc:
https://github.com/UltimateSec/ultimaste-nuclei-templates/blob/main/geoserver/CVE-2023-25157.yaml
后利用思路:
  • 通过sql注入获取后台账号密码(默认:admin/geoserver)
  • 通过后台数据库连接信息获取数据库连接凭据,当数据库公网可访问,且为postgresql在一定权限和版本时,通过postgresql命令执行获取主机权限
  • 通过后台jndi配合恶意xml造成远程代码执行,获取主机权限(后面会单独开一篇文章详细讲解关于Geoserver的利用总结

修复方式:

  • 升级最新版本

  • 赋予数据库最小的权限

参考:
https://github.com/win3zz/CVE-2023-25157
https://stack.chaitin.com/techblog/detail?id=107
https://geoserver.org/vulnerability/2023/02/20/ogc-filter-injection.html
https://twitter.com/RitikChaddha/status/1666354388699340803?t=Yz2D2x4uCStna6iueOt7Kg&s=19

关于:某大厂红队成员,拥有多年国省hw红队渗透经验、擅长洞挖掘与武器化开发,极致攻防实验室公众号专注于分享高质量的漏洞实战文章与最实际的红队具,敬请期待

原文始发于微信公众号(极致攻防实验室):GeoServer SQL注入漏洞 附检测POC (nuclei)

免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2023年6月19日13:41:11
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   GeoServer SQL注入漏洞 附检测POC (nuclei)https://cn-sec.com/archives/1803470.html
                  免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉.

发表评论

匿名网友 填写信息