[BJDCTF 2nd]test
步骤
- 根据题目,ssh连接一下靶机
- 登录成功后,ls看一下当前目录下的文件,根据提示可知,我们没法直接获取flag字符串,但是我们可以读取test的源码,
test.c 代码
可以看到这个程序在执行系统调用system的时候设置了过滤,过滤了“n、e、p、b、u、s、h、i、f、l、a、g、|、/、$、`、-、<、>、.”这些字符
我们去查看一下/usr/bin(存放命令的目录)这个目录里过滤了这些字符后还有那些命令是允许我们使用的
因为一般命令里是不带g之后的这些字符的,所以就筛选一下不包含过滤字符的命令
过滤出来了这些命令,去运行test程序,输入这些命令查看情况,由于x86_64看起来比较正常,其他命令看起来很奇怪,我就先去试了一下x86_64,成功读出了flag