0x01前言
最近测试遇见一个/actuator/接口未授权访问,最后拿下服务器权限。
0x02外带明文
访问/actuator/这个接口,可以看到大量接口,里面有各种信息。
访问/actuator/env,可以看到大量的敏感信息,如mysql安装路径等等,其中有脱敏之后的password。
尝试通过这个网站外带明文https://github.com/LandGrey/SpringBootVulExploit
几个方法都尝试了,内容也写进去了,但是没有明文返回,GG。这个里面有很多RCE的方法,不过都需要各种依赖。
0x03任意文件下载
在这个接口中/actuator/httptrace/,看到了大量链接,有很多身份证照片的链接,其中有一个下载链接,通过../跳转目录可以下载任意文件,通过读取nginx.conf得到web绝对路径!?但是路径下全是静态文件,html和js啥的。就这???
0x04heapdump
在/actuator/heapdump接口下载heapdump,通过VisualVM加载,查看到后台账号信息和数据库账号信息
查询语句如:
select s from java.lang.String s
where /pass/.test(s.value.toString())
并且3306开放在互联网,连接上去,拿下数据库。登录到后台找了上传点,能传上去,文件也能跳转到任意目录,但是传到开始的index.html路径下,访问不解析。传到upload目录也不解析,砸桌子!尝试N久,放弃上传shell。
0x05反弹shell
回到连上去的mysql数据库,加上可以上次文件到任意目录,udf来一发。成功创建sys_eval函数,直接弹cs上线,window下生成powershell,执行,啪,sql语句异常。应该是各种括号和单引号导致的,base64编码一下,执行,但是没上线???。本机尝试base64编码之前能上线,编码之后报错。
直接msf反弹,使用web_delivery模块,上线。
0x06swagger-ui.html
通常情况下可以看下是否存在swagger-ui.html这个页面,可以通过接口未授权查询登录的账号密码等信息,然后进一步利用。