自己搭建一个libc database
自己搭建一个libc database
为什么要自己搭建一个
libc database呢,因为官方的https://libc.rip/api/查询接口挂了官方的查询接口时好时坏,现在又可以用了。
{{< admonition >}}
如果官方的接口可用,我就会暂时下线自己部署的接口 https://libc.roderickchan.cn。
如果你发现官方的接口用不了了,请及时联系(email)我,我会重启服务。
为什么要自己搭建一个libc database呢,因为写文章的时候官方的https://libc.rip/api/查询接口挂了。而我写的pwncli中的LibcBox依赖这个接口,挂了之后直接影响了LibcBox的使用。既然不能白嫖了,那不如自己动手搭建一个。自己动手,丰衣足食。
下载项目
从niklasb/libc-database: Build a database of libc offsets to simplify exploitation (github.com)下载源码,下载后,先安装一下必备的软件包:
sudo apt-get update && \
sudo apt-get install -y \
binutils file \
wget \
rpm2cpio cpio \
zstd jq nodejs npm
pip3 install elasticsearch==7.0.0 # 最好装这个版本的,否则会遇到很多奇怪的问题
安装结束后,先执行./get all然后等待一两分钟后直接Ctrl+C。不要等待这个操作执行完,该命令非常耗时,执行完大概要等一个小时左右。因此,可以先下载一部分用于测试。
文件修改
域名
直接使用vscode的全局替换,把所有的https://libc.rip替换为https://yourdomain.com。
index
然后对index.py修改如下:
- es = Elasticsearch()
+ es = Elasticsearch(config.ES_HOST)
nginx.conf
由于我本身就使用了nginx服务器,所以我把配置添加到/etc/nginx/nginx.conf。
记得申请证书并把证书放置在服务器上。
除此之外,可以修改docker-compose.yaml中的端口映射,避免端口冲突。
前端生成
在libc-database/searchengine/frontend中执行:
npm install
npm run build
构建镜像
使用在libc-database/searchengine,使用docker compose up -d构建镜像。
可以使用阿里云的镜像,替换/etc/sources.list和/etc/pip.conf。
生成索引
在libc-database/searchengine执行python3 -m index ../db
接口测试
测试查询接口:
curl -X POST -H 'Content-Type: application/json' --data \
'{"symbols": {"strncpy": "db0", "strcat": "0x000000000d800"}}' \
'https://yourdoamin.com/api/find'
无异常说明部署成功了。
访问https://yourdoamin.com访问前端页面。
全部更新
测试接口没问题之后,在libc-database/searchengine,执行./update.sh。建议把update.sh修改为:
#!/bin/bash
cd "$(dirname "$0")"
cd ..
./get all
cd searchengine
python3 -m index ../db
等待update.sh执行完成,就完事儿了。
访问我的
点击:https://libc.roderickchan.cn可以在线查询

还可以使用下面的命令查询。
curl -X POST -H 'Content-Type: application/json' --data \
'{"symbols": {"system": "290", "puts": "0x000420"}}' \
'https://libc.roderickchan.cn/api/find'

接口已同步更新到pwncli中,pwncli的使用方式为:
from pwncli import *
lb = LibcBox()
lb.add_symbol('system', 0x290)
lb.search()
本文来自博客园,作者:LynneHuan,转载请注明原文链接:https://www.cnblogs.com/LynneHuan/p/17822143.html

浙公网安备 33010602011771号