今天在对公司课程场景修改bug时,有一个场景的bug让我很头疼:

image-20230831130858240

这个docker的SSH登录不进去,本来想着如果这个登陆方式不必要,就删了,但看了一眼课程:

image-20230831131143776

发现必须进入SSH执行这个命令才能获取weblogic登录后台的密码,如果没有,后续操作无法正常进行。

我在同场景的攻击机里nmap扫了一下这个地址,结果发现没有开SSH的端口:

image-20230831132150509

我就想试一下弱口令能不能进去:weblogic/weblogic、weblogic/Oracle@123这种都进不去,想着能不能暴力破解,结果登录是跳转到302页面,也不能爆破。

就在我一筹莫展的时候,杨佬给我支了一招。他说你可以登录课程平台的SSH,然后在里面找这个docker,docker exec进去之后找密码进行解密,然后给了我一篇参考文章:

用处:
在一些hw行动中,webshell权限的分值可能还没有数据库权限的分值高。为了解密获取数据库明文账户密码。

工具:
https://github.com/Ch1ngg/WebLogicPasswordDecryptorUi

参考:
https://www.freebuf.com/articles/web/220147.html

在服务器上找到这个镜像:

image-20230831131721641

进入这个weblogic的docker:

1
docker exec -it e6694e327098 /bin/bash

image-20230831131845597

先找到.dat文件

image-20230831132308301

下载到本机:

1
docker cp e6694e327098:/u01/oracle/user_projects/domains/base_domain/security/SerializedSystemIni.dat  ./

找到对应的boot.properties

image-20230831133311425

下载解密工具并运行:

这里有个坑,最后的这个\要去掉

image-20230831133634183

image-20230831133713027

image-20230831133737468

成功登录:

image-20230831133752242

但是还有一个问题没搞清,这个是我上午开始搞的,上午开的镜像,下午过期了。当时拿了上午解密的密码登录发现登不进去,下午再次解密发现boot.properties文件内的password已经改变了。也就是每次开启镜像密码都会变化。