Featured image of post patchelf的正确使用姿势🤗

patchelf的正确使用姿势🤗

安装patchelf,根据远程进行环境同步

做任何pwn题之前都应该先替换libc和ld从而减少本地和远程不一样的情况——来自老登的指责,借此学习了一下patchelf

安装软件

glibc-all-in-one

1
2
3
git clone https://github.com/matrix1001/glibc-all-in-one.git 
cd glibc-all-in-one 
chmod a+x build download extract

进入后运行

1
sudo python update_list

之后cat list可以看到ubuntu包名了

./download 2.35-0ubuntu3.1_amd64等进行安装

例 moectf-Got it!

复现完exp后发现本地
但是远程可以打通 于是根据上面的情况,我们需要patchelf一下以保证环境相同

patch!!

找到ld(解释器)文件和libc.so.6(链接库)文件的目录后 我们在pwn题目文件目录下执行命令

1
2
3
patchelf --set-rpath ~/glibc-all-in-one/libs/2.35-0ubuntu3.9_amd64/ld-linux-x86-64.so.2  ./pwn
patchelf --add-needed ~/glibc-all-in-one/libs/2.35-0ubuntu3.9_amd64/libc.so.6  ./pwn
#根据自己状况设置环境

最后运行exp

已经可以打通了!

本博客已稳定运行
发表了30篇文章 · 总计6万7千字

浙ICP备2024137952号 『网站统计』

𝓌𝒶𝒾𝓉 𝒻ℴ𝓇 𝒶 𝒹ℯ𝓁𝒾𝓋ℯ𝓇𝒶𝓃𝒸ℯ
使用 Hugo 构建
主题 StackJimmy 设计
⬆️该页面访问量Loading...