一、配置基本Pwn环境
一、配置基本Pwn环境
1.python3环境
这里推荐最好用linux或者kali,Windows可以但不建议,这里请更具百度进行安装
2.VScode编辑器配置
kali下载Vscode

sudo dpkg -i code_1.68.1-1655263094_amd64.deb
主要是配置python3编写环境
3.常用的Pwn工具
Pwntools(写攻防脚本需要用到的)
Gdb(动态调试)
Pwndbg(gdb插件)也有docker的环境
docker pull skyider/pwndocker
docker run -d --rm -h pwngame --name pwngame -v $(pwd)/pwngame:/ctf/work -p 23946:23946 --cap-add=SYS_PTRACE skysider/pwndocker即可参考到镜像已经运行起来了

进入容器内部docker exec -it pwngame /bin/bash

接下里就是新建C文件,用于测试Pwn环境是否完成
二、环境简单Pwn题测试
简单的字符串溢出
#include<stdio.h>
#include<string.h>
void success(){
puts("YOU HAVA already controlled it.");
}
void vulnerable(){
char s[12];
gets(s);
puts(s);
return;}
int main(int argc, char **argv){
vulnerable();
return 0;
}编译test.c命令,这里关了很多保护选项
gcc -m32 -fno-stack-protector [file.c] -o stack_example
这里使用gdb test,使用b main 意思是在main函数下断点

敲击r,让程序运行,界面分别DISASM=>反汇编,REGISTERRS=>寄存器,STACK=>堆栈,BACKTRACE=>断点

这里已经测试完成,后续学习会了解到危险函数如何去获取系统shell权限
TIPS
如果出现bits/libc-header-start.h: 没有那个文件或目录先使用apt-get update,在使用sudo apt-get install gcc-multilib即可
