Aliyun CTF 2025 - Web Review
一年一度的阿里云 CTF,想吐槽一下 FakeJumpServer 这题,给了 Hint 还是做不出来,最后才发现考的是一个简单的 Postgresql 堆叠注入,只不过注入点在 SSH 这里😅
Nu1L 还没关环境,现在可以去做做题目
FakeJumpServer
直接 ssh 连接,然后看看版本,会发现是一个 FakeJumpServer,主办方的意思是这题是魔改的 SSH,需要结合 Realworld 思路,搞半天是道渗透题,那没事了。
相关 Payload
1 | ';/**/update/**/t_user/**/set/**/password='***'/**/where/**/name='sysadmin'--/**/ |
一般 pgSQL 执行命令如下,就不说明了,很简单
1 | DROP TABLE IF EXISTS exec; |
所以我们先判断下是否有延时注入,注入点在 password
1 | -1';select pg_sleep(5);-- |
这里卡了五秒说明是有注入的
然后就是正常的写 Shell,反弹 Shel;
1 | -1';select pg_sleep(5);-- |
完整exp
1 | # encoding:utf-8 |
您猜怎么着?通了!神了
JTools
这题也是赛后复现的,全场只有三解,来看看吧
查看源码发现是 Fury 框架,比较新,相关漏洞很少很少,这里可以很明显的看见 data 字段做了反序列化处理,所以我们可以找找哪里能触发这个反序列化
这里引入了一个叫做 feilong 的工具库
一番搜寻发现在 cn.hutool.core.convert.impl.BeanConverter#convertInternal 存在反序列化
仔细查看发现使用了 MapProxy 来创建 Bean 类型的代理,但是并没有验证 Map 的内容是否能完全满足目标类型的要求,同时这里 MapProxy#invoke 的方法会触发 convert
完整 exp,官方的
1 | import cn.hutool.core.map.MapProxy; |
Aliyun CTF 2025 - Web Review