0


【日常记录】解决‘GLIBC_2.34‘ not found,并且gcc制定glibc版本编译

小荣的日常记录


🔥系列专栏:日常记录
🎉欢迎关注🔎点赞👍收藏⭐️留言📝
📆首发时间:🌴2022年11月21日🌴
🍭作者水平很有限,如果发现错误,还望告知,感谢!

文章目录


发生了什么

当我兴致勃勃的准备内核提权时,发现glibc版本不对
在这里插入图片描述

真让人生气

第一步,查看靶场glibc版本

ldd --version

在这里插入图片描述

第二步,配置all in one环境

下载glibc-all-in-one

proxychains4 -f /etc/proxychains4.conf git clone https://github.com/matrix1001/glibc-all-in-one.git

在这里插入图片描述
更新列表

cd glibc-all-in-one/
python3 update_list

在这里插入图片描述
看看能安装啥

cat list

只截取了一部分

在这里插入图片描述

第三步,安装配置patchelf

照抄,没有原因

git clone https://github.com/NixOS/patchelf.git
cd patchelf
./bootstrap.sh 
./configure
make
make check
sudo make install

在这里插入图片描述这样的结尾说明一切正常

下载配置特定版本glibc

cat  list
我们这个靶场需要64位2.28
没有2.28
下个低一个版本的
./download 2.27-3ubuntu1_amd64

在这里插入图片描述

编译

核心,精华
编译方式

gcc -Wl,-rpath='/root/glibc-all-in-one/libs/2.27-3ubuntu1_amd64',-dynamic-linker='/root/glibc-all-in-one/libs/2.27-3ubuntu1_amd64/ld-linux-x86-64.so.2'-s 1.c -o haha

注意这一段,要求是绝对路径

/root/glibc-all-in-one/libs/2.27-3ubuntu1_amd64

这个路径和下面这个应该不用说了,注意是

ld-linux-x86-64.so.2

文件,对应下一个参数

/root/glibc-all-in-one/libs/2.27-3ubuntu1_amd64/ld-linux-x86-64.so.2

剩下的参数和正常的一样

-Wl,-rpath='/root/glibc-all-in-one/libs/2.27-3ubuntu1_amd64',-dynamic-linker='/root/glibc-all-in-one/libs/2.27-3ubuntu1_amd64/ld-linux-x86-64.so.2'

如果需要其他版本的glibc也可以
不过我还没弄好,但是已经可以正常执行了,不会报错了
在这里插入图片描述
应该是sh的调用问题
不过环境已经好了
还有一种简单的方法就是
直接安装一个2018年的kali
什么都解决了
不会有任何问题

标签: git 运维 linux

本文转载自: https://blog.csdn.net/weixin_65527369/article/details/127973141
版权归原作者 人间体佐菲 所有, 如有侵权,请联系我们删除。

“【日常记录】解决‘GLIBC_2.34‘ not found,并且gcc制定glibc版本编译”的评论:

还没有评论