Ubuntu 16.04配置 Pwn 环境
现在配置环境对新手很不友好,整整折腾了一天,本人也真是菜。
系统环境
我这里选择的是 ubuntu 16.04(64位) 桌面长期支持版 :https://releases.ubuntu.com/16.04/
第一步 update
个人觉得 用官方的源 速度还是挺快的,不换也无妨。
sudo apt update
sudo apt install curl # 安装 curl 下载工具
安装pwntools
学习 pwn 最重要的 就是安装 pwntools 了,但是 想用 python2 的pip 去安装 pwntools 需要折腾一下
用 apt-get 去安装的 pip 版本是很老的 安装之后无法升级,即便升级也比较麻烦
通过get-pip.py安装新版本pip
1. 获取 get-pip.py 文件
curl https://bootstrap.pypa.io/pip/2.7/get-pip.py -o get-pip.py
:: 请注意,此命令获取的是针对python2.7的pip安装文件,仅适用与python2.7
2. 进入你存放get-pip.py的路径|执行 get-pip.py
python get-pip.py
这个的 python是 16.04自带的 2.7版本 查看方法:pythpn -V
执行完成后 就会看到 已经安装成功 pip版本为20.3.4 查看方法:pip -V
安装 pwntools
此时我们还不能急着去安装 pwntools ,pwntools 需要一些库和软件的支持才能安装成功
sudo apt-get install python-setuptools python-dev build-essential
sudo apt-get install python-setuptools
pip install --upgrade --no-deps --force-reinstall pathlib
pip install pathlib2
pip 安装 pwntools
pip install pwntools -i https://pypi.douban.com/simple
验证 pwntools 是否安装成功
输入 :
python
显示: 这里启动的是 pythpn2 使用的是pythpn2的语法
joe@ubuntu:~$ python
Python 2.7.12 (default, Mar 1 2021, 11:38:31)
[GCC 5.4.0 20160609] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>>
输入: from pwn import *
from pwn import *
p = ELF("/lib/x86_64-linux-gnu/libc.so.6")
出现如下图 则表示安装成功了
到此 就已经成功了一半,到此为止我已经被 pip折磨了半天 :<
安装 gdb | peda pwndbg pwngdb
更新GDB
sudo apt-get install gdb
sudo apt-get install git
安装peda
git clone https://github.com/longld/peda.git ~/peda
echo "source ~/peda/peda.py" >> ~/.gdbinit
命令行输入:gdb
目录行显示 gdb-peda 表示安装成功
安装 pwngdb | pwndbg
下载 pwngdb
git clone https://github.com/scwuaptx/Pwngdb.git
下载 pwndbg
git clone https://github.com/pwndbg/pwndbg
先安装 pwndbg
cd ~/pwndbg
./setup.sh
安装时报错,原因是:pip3版本不匹配Python3版本
解决办法:
wget https://bootstrap.pypa.io/pip/3.5/get-pip.py
python3 get-pip.py
(如果发现没有安装pip3, 尝试 sudo python3 get-pip.py)
降级成功
再次执行命令 ./setup.sh
再配置下Pwngdb
d ~
cp ~/Pwngdb/.gdbinit ~/
vim ~/.gdbinit
打开文件后文件内容修改如下,这里要注意source ~/pwndgb/gdbinit.py 一定要在source ~/Pwngdb/angelheap/gdbinit.py前面,要不然会使用默认配置。
source ~/pwndbg/gdbinit.py
#source ~/peda/peda.py
source ~/Pwngdb/pwngdb.py
source ~/Pwngdb/angelheap/gdbinit.py
define hook-run
python
import angelheap
angelheap.init_angelheap()
end
end
到此 pwn 的基本调试环境就 安装成功了