首页
论坛
课程
招聘
【保姆级教程】pwn题如何配置和靶机一样的环境
2022-5-8 21:58 4741

【保姆级教程】pwn题如何配置和靶机一样的环境

2022-5-8 21:58
4741

苦于学pwn的时候没有找到博客讲述如何配制环境,于是自己记录一下供后面学习的师傅少走一点弯路

二进制文件+libc篇

准备工作

先需要安装两个工具

patchelf

1
2
3
4
5
6
7
8
9
sudo apt-get install autoconf automake libtool
 
git clone https://github.com/NixOS/patchelf.git
cd patchelf
./bootstrap.sh
./configure
make
make check
sudo make install cd ..

glibc-all-in-one

1
git clone https://github.com/matrix1001/glibc-all-in-one

记得下下来cd到glibc-master目录的时候先运行一下update_list,即:

1
./update_list

如果发现有些时候list里面的版本下不了了,也可以用这个更新一下列表(然后你就发现绝版了)

具体操作

以文章后面给的附件untidy_note为例(from iscc2022

(1)先对libc文件来个strings看看版本

img

1
strings libc-2.27.so | grep ubuntu

(2)进入all in one 看看有无这个版本

img

1
cd glibc
1
cat list

(glibc是把glibc-all-in-one改过的名字)

 

发现绝版了,怎么办?

 

就先用1.5,先换上all-in-one里的libc试试,本地能打通远程应该没问题(有些时候会出现本地通了远程通不了的奇怪情况)

(3)下载2.27-1.5_amd64

img

1
./download 2.27-3ubuntu1.5_amd64

(4)把存在/glibc/lib里的刚下好的文件拖到你exp所在的目录

(因为./用起来太香了,而且也不用绑定什么奇奇怪怪的东西)

(5)愉快地连接libc和ld

先使用ldd命令看看连接前的情况:

 

img

 

连接:

 

img

1
patchelf --set-interpreter ./2.27-3ubuntu1.5_amd64/ld-2.27.so ./untidy_note
1
patchelf --replace-needed libc.so.6 ./2.27-3ubuntu1.5_amd64/libc-2.27.so ./untidy_note

再用ldd或者直接vmmap看看

 

img

 

img

 

就换好了

docker篇

docker一般是会给readme的,但是有些题不太会给(就比如minil2022的mini_bug),那个就是考docker的一些语法,需要自己改一改dockerfile才能搭好环境

 

(还没复现等复现了再说说)

参考博客

Ubuntu pwn环境安装 - X1ng's Blog

 

安装不同glibc版本 堆实验_一路开花●-●的博客-CSDN博客_glibc-all-in-one


[2022夏季班]《安卓高级研修班(网课)》月薪两万班招生中~

最后于 2022-5-11 20:14 被Nameless_a编辑 ,原因:
上传的附件:
收藏
点赞2
打赏
分享
最新回复 (0)
游客
登录 | 注册 方可回帖
返回