在学习fastbin的有关漏洞利用时,由于本地的glibc版本是2.27的,存在tcache机制所以和单纯fastbin的利用方法不同,因此只能换用版本更低glibc版本。但是更换 ELF 文件的 libc 版本的过程让我十分头疼,最后在大佬的帮助下总算还是成功了,现在记录一下解决方法。
首先获取不同版本的glibc
获取glibc的方法不止一种,可以手动下载也可以借助自动化工具。这里我使用的是https://github.com/matrix1001/glibc-all-in-one
下载完成后可以在libs文件夹中看到
接下安装patchelf
https://github.com/NixOS/patchelf
./bootstrap.sh
./configure
make
sudo make install
make check
在执行./bootstrap.sh时可能会遇到未安装autoreconf的问题,安装一下就好了。