[环境搭建] pwn的环境从头搭建
0x00 概述
因为最近开始学堆,所以经常需要切换glibc,然后又重新搭建了一个环境,顺便把之前搭环境的文章删掉,合起来在本章。
以下是我的配置环境:腾讯云远程服务器和m1的macbookpro
0x01 ubuntu20.04
1 | wget https://bootstrap.pypa.io/pip/2.7/get-pip.py |
然后python提示你缺啥库,你就pip install 库名
安装就行
1 | git clone https://github.com/lieanu/LibcSearcher.git |
切换glibc
1 | git clone https://github.com/matrix1001/glibc-all-in-one |
ldd 程序
可以查看程序原本的libc和ld。
./pwn题所给的libc
能查看ubuntu版本,可以去寻找相应的链接器。
1 | sudo ln ld-2.26.so /lib64/ld-2.26.so |
顺便写了个脚本方便改glibc,毕竟谁也不想每次都搞上面那么多命令
1 | import os |
1 | git clone https://github.com/scwuaptx/Pwngdb.git |
1 | #ERROR: ld.so: object '/usr/local/lib/libftp.so' from /etc/ld.so.preload cannot be preloaded: ignored. |
0x02 m1 docker
先说一句,搞pwn别买m1。
x64
1 | $ docker pull ubuntu:20.04 --platform linux/amd64 |
无法用x64的gdb。
https://github.com/docker/for-mac/issues/5191
arm
1 | $ docker pull ubuntu:20.04 |
Secure computing mode (seccomp):Linux kernel的一个特性。在Docker中利用这个特性限制container中可以做哪些操作。
默认的seccomp profile禁用了300+个系统调用中的44个。使用–security-opt seccomp=unconfined允许容器执行全部的系统的调用
0x03 一些讨人厌的报错
pwntools 调用gdb出错,首先请记住一定要进入tmux之后再执行脚本,否则肯定报错(耽误我一晚上时间)。
然后是第二个问题pwntools中使用tmux和gdb attach时Waiting for debugger无限等待的解决方案
1 | git clone --depth 1 git://github.com/Gallopsled/pwntools |
我讨厌配环境
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 Kazamaycのblog!