TCTF2019 web 复现

3月下腾讯的比赛,还是打不动。只能赛后看看大佬的wp学学姿势rz

Ghost Pepper

这题进去就是一个登录,提示karaf,点取消后又提示Jetty框架。没整过java web的。我死了orz

这个karaf是一个java服务器环境容器,它的默认账号和密码都是karaf,这题里尝试默认的设置成功登录进去
然后题目提示ghost pepper,如果熟悉karaf的一些feature的话(可惜我不熟悉orz),百度一下ghost pepper就会看到jolokia,这里暗示了Spring Boot Actuators的/jolokia

然后可以看Exploiting Spring Boot Actuators这篇文章,讲了通过/jolokia/exec可以调用/jolokia/list中出现的类的方法。感觉有点像SSTI 2333

然后大多java web都带有webconsle,karaf同样也有。直接访问/system/console提示404未安装,那我们可以尝试用exec来装一个。

4.18.3. MBeans
这里给了MBeans的一些用法,这题主要是用这个
org.apache.karaf:type=feature,name=*。这条MBeans可以管理feature

然后这是大佬的payload:
/jolokia/exec/org.apache.karaf:name=root,type=feature/installFeature(java.lang.String)/webconsole
大概是调用了里面的方法来安装新feature,java.lang.String是传入参数的类型,webconsole是值。然后就安装了webconsole这个feature

安装完后访问/system/console进入webconsole页面,然后main->goto进入命令行界面。这里好像和linux有些命令不同,ls出来的不是目录,而是不知道什么东西。试着尝试一下cat flag获得flag