二进制文件存在但仍有FileNotFoundError
问题解决
桌面明明有vuln这个文件,但是kali仍有FileNotFoundError
问群里的师傅原来是要装glibc-all-in-one
一开始师傅说要用./libc.so.6查看要安装的libc版本,但本地一直报错
我google了但是一直没有直接的解决方案,于是在另一位师傅的推荐下看了另一篇文档,用strings libc.so.6 |grep Ubuntu来确定需要安装的libc库
直接下载libc出错,于是去官网手动下载
最后按教程配置即可
后面发现只需要给对应文件夹赋予写权限就能直接命令行下载而不用手动去官网下载了
参考链接:https://www.freebuf.com/sectool/366854.html
【kali】 glibc-all-in-one安装 (解决version GLIBC_2.34‘ not found)_version glibc_2.34’ not found-CSDN博客
不同情况操作
libc-2.27.so:具体的动态链接库文件,版本号为2.27
libc.so.6:符号链接(软链接),指向当前系统默认的libc版本,例如可能指向libc-2.27.so
ldd:查看程序运行时使用的libc库
第一行是虚拟so文件,第二行是libc,第三行是ld ,ld用来加载动态程序
只给libc.so.6
用strings libc.so.6 |grep Ubuntu来确定需要安装的libc库
先更新list:sudo ./update_list
sudo下载
后续按教程配置即可
1 | |
只给libc-2.27.so
可以直接用libc = ELF(“./libc-2.27.so”)加载
patchelf –replace-needed libc.so.6 ./libc-2.27.so pwn
给libc和ld
通过libc.so.6可以寻找到对应的so文件,无需手动寻找
patchelf –set-interpreter ld-linux-x86-64.so.2 ./dialogue
patchelf –replace-needed libc.so.6 /home/kali/Desktop/System_not_found/libc.so.6 ./dialogue
tips
strings得到的版本与list里的不对应,例如libc对应2.31-0ubuntu9.9而只能找到2.31-0ubuntu9.17,这种情况下要用2.31-0ubuntu9.x而不是2.31-0ubuntu9

