PWN更改题目的环境libc

这几天因为这个问题困扰了我好久,我用的是ubantu16.04

解决因libc版本不同,无法进行pwndbg动态调试,拿到的题目,所需要的是libc 2.34的版本

QQ截图20221201212417

需要两个工具,分别是glibc-all-in-one和patchelf,前者用于下载libc的版本,后者用于更改题目的环境。

glibc-all-in-one的安装

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

sudo python3 update_list
[+] Common list has been save to “list”
[+] Old-release list has been save to “old_list”

cat list old_list

QQ截图20221201212735

同时查看list和old_list的列表,下载用

./download +文件名

QQ截图20221201213044

如果出现

QQ截图20221201213153

则需要更换

./download_old + 文件名

来下载

或者出现了其他的列如tar的错误,则需要下载zstd

sudo apt install zstd

patchelf下载

sudo install patchelf

看题目环境进行更换

patchelf –set-interpreter libc版本的绝对路径 ./pwn_5

patchelf –set-rpath 文件夹的绝对路径 ./pwn_5

QQ截图20221201214426

QQ截图20221201214507

QQ截图20221201214657

好,已经可以跑了

或者可以使用

patchelf –replace-needed libc.so.6 你要换的libc的硬路径 ./pwn
patchelf –set-interpreter ld的硬路径 ./pwn

来更改,前提是你下的不是old_list里面的libc版本

 

© 版权声明
THE END
喜欢就支持一下吧
点赞10 分享
评论 抢沙发

请登录后发表评论