pwn题如何配置和靶机一样的环境
转载学习记录:
【保姆级教程】pwn题如何配置和靶机一样的环境-Pwn-看雪论坛-安全社区|安全招聘|bbs.pediy.com
二进制文件+libc篇
准备工作
先需要安装两个工具
patchelf
1 | sudo apt-get install autoconf automake libtool |
glibc-all-in-one
1 | git clone https://github.com/matrix1001/glibc-all-in-one |
记得下下来cd到glibc-master目录的时候先运行一下update_list,即:
1 | ./update_list |
如果发现有些时候list里面的版本下不了了,也可以用这个更新一下列表(然后你就发现绝版了)
具体操作
(1)先对libc文件来个strings看看版本
1 | strings libc-2.27.so | grep ubuntu |
(2)进入all in one 看看有无这个版本
1 | cd glibc |
(glibc是把glibc-all-in-one改过的名字)
发现绝版了,怎么办?
就先用1.5,先换上all-in-one里的libc试试,本地能打通远程应该没问题(有些时候会出现本地通了远程通不了的奇怪情况)
(3)下载2.27-1.5_amd64
1 | ./download 2.27-3ubuntu1.5_amd64 |
(4)把存在/glibc/lib里的刚下好的文件拖到你exp所在的目录
(因为./用起来太香了,而且也不用绑定什么奇奇怪怪的东西)
(5)愉快地连接libc和ld
先使用ldd命令看看连接前的情况:
连接:
1 | patchelf --set-interpreter ./2.27-3ubuntu1.5_amd64/ld-2.27.so ./untidy_note |
再用ldd或者直接vmmap看看
docker篇
docker一般是会给readme的,但是有些题不太会给(就比如minil2022的mini_bug),那个就是考docker的一些语法,需要自己改一改dockerfile才能搭好环境