首页 > 其他分享 >利用 patchelf 修改 pwn 题目的 libc

利用 patchelf 修改 pwn 题目的 libc

时间:2022-10-10 23:11:05浏览次数:63  
标签:ld 题目 libc patchelf pwn 2.23

pwn有时候真的太玄学了(我太菜了),有时候因为环境问题导致一道题很难调试成功,跟 wp 上的差很多,有时候调试几天也不知道怎么回事,换个环境突然就好了。特别是到堆的时候,搞了好几台不同 ubuntu 版本的虚拟机,最后发现还是直接用 patchelf 修改 pwn 题目的libc 好, 希望能帮助大家。

 先下载 patchelf

sudo apt-get install patchelf

再下载支持库

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

还需要更新支持库

cd glibc-all-in-one/
./update_list

 

 

 查看可以下载的库

cat list

 

 

 使用下面的命令下载

./download name

下载后的文件都放到了 libs 文件夹下

那么准备工作就做好了,这里以 buuctf 提供 libc 为例

我们首先要先确定与 libc 同版本的 链接器

strings buu/libc-2.23-x64.so | grep ubuntu

 

 

 这个我们 list 中是有的

再看下现在的 pwn 题目使用的 libc

ldd -v pwn

 

 明显还是系统提供的 libc 和 ld

接下来修改 pwn 题目的 libc 和 ld

patchelf --set-interpreter /home/w1nd/Desktop/glibc-all-in-one/libs/2.23-0ubuntu11.3_amd64/ld-2.23.so /home/w1nd/Desktop/pwn
patchelf --replace-needed libc.so.6 /home/w1nd/Desktop/buu/libc-2.23-x64.so pwn

 

 很好,pwn 题目的 libc 和 ld 都被修改了

 

顺便提下,我更新支持库的时候出现了未找到 /usr/bin/pytho 的情况,但是我的 python3 是能正常用的,所以直接复制下即可解决

 

标签:ld,题目,libc,patchelf,pwn,2.23
From: https://www.cnblogs.com/xshhc/p/16777707.html

相关文章

  • 带有pwn环境的Ubuntu22.04快速安装
    pwn环境ubuntu22.04快速安装(有克隆vmk)ubuntu更新到了22.04版本,经过本人测试后非常的好(ma)用(fan),该版本和mac很相像,而且用起来也比较丝滑,只不过配置上稍微有一些多,也比较繁琐......
  • libcurl 0xC0000005: 读取位置 0x00006464 时发生访问冲突
    场景   长时间调用libcurl获取数据,异常崩溃,提示如下:0x7298464D (ucrtbased.dll) (yushivehicleservice.exe.dmp 中)处有未经处理的异常: 0xC0000005: 读取位置 0......
  • BUUCTF-PWN-第一页writep(32题)
    温故而知新,可以为师矣。所以花了几天时间重新做了下buuctf的pwn题,先发下第一页共32题的题解。还有如果题解都很详细那么本文就太长了,写起来也浪费时间,所以比较简单......
  • 无sudo权限解决Anaconda libstdc++.so.6: version `GLIBCXX_3.4.20' not found
    查找包含`GLIBCXX_3.4.20'的libstdc++find/-name"libstdc++.so*"///为根目录下搜索,可以替换为用户指定路径根据上述指令显示的文件,选择一个最新版本的查看是否......
  • Ubuntu系统anaconda报错version `GLIBCXX_3.4.30' not found
    参考文章:https://blog.csdn.net/zhu_charles/article/details/75914060  ================================================   在anaconda中安装deepmind_la......
  • C++之libcurl环境配置安装
    目录C++之libcurl环境配置安装前言curl与libcurl的区别InstalllibcurlonLinuxInstalllibcurlonWindows源码例子其他的网络库C++之libcurl环境配置安装前言最近在......
  • pwn题工具整理
    目录语言汇编C语言指针数据类型文件缓冲区和流操作系统编译链接加载运行保护机制格式化字符串漏洞printf函数族x86和x64使程序崩溃读取栈上数据任意地址读取任意地址写工具......
  • 安装Glibc版本MySQL数据库
    系统环境CentOS7,软件版本MySQL5.7.31第一步:创建一个数据库专用账号mysql(其所属组也为mysql)#useradd-r-s/sbin/nologinmysql#idmysql第二步:清空系统中的原有mariadb的......
  • linux 中如何升级glibc 版本
     001、系统[root@localhosthome]#cat/etc/redhat-releaseCentOSLinuxrelease7.9.2009(Core) 002、查看当前glibc版本[root@localhosthome]#ldd--vers......
  • libcurl 调用 curl_easy_getinfo( ) 返回错误码对照
    curl_easy_getinfo()函数原型声明如下:#include<curl/curl.h>CURLcodecurl_easy_getinfo(CURL*curl,CURLINFOinfo,...);https://curl.se/libcurl/c/curl_easy_ge......