BUU-[BJDCTF 2nd]rci-WP

Posted on Jan 25, 2021

头图变成上篇文章的了,不知道为什么

Linux操作题,也不需要写什么脚本

程序很容易看,流程就是有一次ls的机会,第二次需要输入当前的目录,然后就有第二次system的机会,这里就可以调出shell。

由于pwd被禁用,我们就需要通过别的方法找出当前路径,方法是通过inode来实现,这里就不详细说inode了,反正笼统的了来说这就是一个与文件一一对应的编号,通过 -i参数就可以显示出来。

解法

nc服务器,输入 ls -ali

文件 .就是当前目录文件了,他的 inode就是 1199816191

然后再开一个shell,再次 nc服务器,这次 ls -ali /tmp,当然这次启动了一个新的进程,会多建立很多文件夹,但是没关系,inode是一一对应的就行了。

有许多,可以写个脚本来找,不过我的 cmder自带查找

这样就找到了路径,我们输入之,就可以获得一次有限制的system机会,限制还是很多的,基本不可能直接拿flag,还是需要尽量get shell的,解决方法是用$0,原理是system通过shell执行命令,所以第一个参数变量也就是$0就是shell,这绕过了检测,并调出了shell,就get shell了。然后就可以cd \到根目录下cat imagin了。

还是吃了Linux基础不好的亏啊。