游戏 1
根据题目名字和提示的1.8,猜测是游戏minecraft,应该是开放了服务器端口
先下载游戏https://github.com/HMCL-dev/HMCL/releases/tag/release-3.6.12
选择你对应的版本即可
因为我是macos,所以选择.jar版
确保系统安装了openjdk后,直接启动
第一次启动没有游戏版本,可以点击右边的版本列表下载1.8的版本。然后随便创建一个离线账户名,启动游戏
进去后选择多人游戏,添加服务器,服务器地址填容器给的地址
看到绿色信号图标说明连接成功,点击即可进入
进来后在附近走一走,看到这个牌子
猜测应该有个用户叫admin,按esc断开链接,退出游戏,将刚才添加的用户名删除,添加一个admin
然后再此链接,会发现没有了血条,直接变成了创造模式,说明应该是进入成功
接下来有两种解法
解法1
可以看到上图前面有一个石块在这里显得很突兀,我们可以用/gamemode 3
开启透视模式看一下下面藏了什么。可以发现正下方有个小房间,飞下去看一下有什么
看到有一个箱子,用/gamemode 1
切换回正常模式后就能打开箱子就能看到有一本password。在最后一页就能看到一串账号密码
解法2
一样进入到admin,之后直接用/kill
自杀复活重生点即可直接跳转到带密码箱的小房间
游戏 2
开启容器后尝试访问发现并不能访问。并且结合上一题拿到的admin和密码,猜测是ssh,直接登陆
成功,探索了一圈后发现sudo藏了东西
可以执行/opt/get_flag,看一下这是什么
可以发现是一串shell脚本。并且直接读取flag,但读出来的内容会被tr干掉,所以就要想办法怎么绕这个通配符
先来做个小实验
正常来说会直接过滤掉,但如果我这样做呢?
会发现除了a以外的字符都跳了出来,并且我的a文件是空的。这就说明:在[]
进行匹配时会将当前目录下符合匹配条件的文件优先展开,并以丢弃原本的所有匹配符,只以文件名作为通配符内容。也就是说在上面这个例子里,通配符的内容其实就变成了只有[a]
那么答案就显而易见,我们随便找个大写字母创建文件就行,因为flag一般不会有大写符号(后面也给了提示)。并且根据脚本得知工作路径在tmp,所以就在tmp创建