type
status
date
slug
summary
tags
category
icon
password
之前做堆的题总是会与到与libc版本的相关问题,这里开一篇新文,讲一讲目前遇到的有关于在做题的的libc版本不同的问题与解决方案。
 
patchelf
这个可以说是做堆题的必备神器,大多数的堆的漏洞与版本有关,不同的版本的堆题对bin和chunk的管理方式各不相同,故很多题目在附件中会一同把libc版本一同下发,遇到这种事便可以直接在我们本地的libc库中寻找到相应的版本然后直接patchelf上题就行。关于这个工具的使用具体可以看之前的有篇文章,写的有这里不细讲
 
食用方法
 
寻找libc
有的题目并不会直接把libc文件下发,而是同题目一起发一个libc.so.6文件,这个文件其实也能看出这道题要使用的libc版本,不过要使用一个命令。
notion image
 
 
这样也能知道这个的libc版本为Ubuntu GLIBC 2.31-0ubuntu9.2然后在patchef相应的libc做这道题就行。
 
 
libc版本下载
关于libc版本的的下载,这个确实在glibc-all-in-one这里面就已经有大部分的libc版本。
 
先讲这个里面有的libc版本的食用吧
notion image
 
 
这是里面有的文件,在这里面的libc文件夹里面就是我们已经下了的libc文件,如果里面没有我们需要的libc版本,这我们可以这里在个页面下,
notion image
 
 
先使用cat list查看我们可以再这里面下的版本,先确定要下的版本的名字后使用下面这个命令下载
notion image
 
 
像这样就算这个版本下好了,然后便可以去之前那个的libc文件夹中食用了。
出了这些之外,还可以使用宁外一个命令查看和下载宁外一些版本
notion image
 
 
这里面也有一些版本的现在,不过由于是过时的版本所以加上了old,
同样的在下载时也要用不同的命令下载
notion image
 
 
这样下好之后就可以去libc文件夹中食用了。
 
如果你发现这两个里面都没有你所要的libc版本(有的题目是真的ex,非要用一些小版本)
那便要去网上下相应的文件解压食用了。
 
拿上面的需要的libc2.31的9.2版本来说,这个版本在我们的这里是没有的我们只能去网上找了下来用,
在之前的文件中有一个debs的文件夹其中放着的就是各个libc版本的deb文件,我们要下的也是这种文件,
可以在这个网站上下载
notion image
 
把这个标黄的下载来就行
notion image
 
 
拖动到之前的那个debs文件夹中便是这个样子,
然后解压就行,
 
以下来源
这篇文章。
 
1.首先下载deb包,比如:将其放在 /home/tools/ 根目录下:
 
2.进入到tools根目录下的终端,输入下面命令创建文件夹extract,并在extract文件夹下创建DEBIAN文件夹
 
3.将deb包解压到extract文件夹下
 
4.解压deb包中的control信息(包的依赖在这里面的control文件中)
 
5.创建build文件夹
 
6.将解压到extract文件夹中所有的内容重新打包为deb包
 
7.安装deb包
 
8.卸载deb包
 
常用命令参数实例
我们只要运行的第四部就可以食用了
 
打开同目录的extract文件夹,在打开里面的lib文件夹里面的那个就存放这我们要的libc版本,然后使用相同的patchelf就可以开始食用题目了。
 

📝 主旨内容

观点1

引用的话语

观点2

引用的话语

🤗 总结归纳

总结文章的内容

📎 参考文章

  • 一些引用
  • 引用文章
 
💡
有关Notion安装或者使用上的问题,欢迎您在底部评论区留言,一起交流~
patchelf使用和例题NKctf2024 第一题
Loading...
wgiegie
wgiegie
一个苦逼的ctf干饭人🍚
公告
🎉NotionNext 4.5已经上线🎉
-- 感谢您的支持 ---
👏欢迎更新体验👏