自己搭建一个libc database
为什么要自己搭建一个
libc database
呢,因为官方的https://libc.rip/api/查询接口挂了官方的查询接口时好时坏,现在又可以用了。
如果官方的接口可用,我就会暂时下线自己部署的接口 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)下载源码,下载后,先安装一下必备的软件包:
|
|
安装结束后,先执行./get all
然后等待一两分钟后直接Ctrl+C。不要等待这个操作执行完,该命令非常耗时,执行完大概要等一个小时左右。因此,可以先下载一部分用于测试。
文件修改
域名
直接使用vscode
的全局替换,把所有的https://libc.rip
替换为https://yourdomain.com
。
index
然后对index.py
修改如下:
|
|
nginx.conf
由于我本身就使用了nginx
服务器,所以我把配置添加到/etc/nginx/nginx.conf
。
记得申请证书并把证书放置在服务器上。
除此之外,可以修改docker-compose.yaml
中的端口映射,避免端口冲突。
前端生成
在libc-database/searchengine/frontend
中执行:
|
|
构建镜像
使用在libc-database/searchengine
,使用docker compose up -d
构建镜像。
可以使用阿里云的镜像,替换/etc/sources.list
和/etc/pip.conf
。
生成索引
在libc-database/searchengine
执行python3 -m index ../db
接口测试
测试查询接口:
|
|
无异常说明部署成功了。
访问https://yourdoamin.com
访问前端页面。
全部更新
测试接口没问题之后,在libc-database/searchengine
,执行./update.sh
。建议把update.sh
修改为:
|
|
等待update.sh
执行完成,就完事儿了。
访问我的
点击:https://libc.roderickchan.cn可以在线查询
还可以使用下面的命令查询。
|
|
接口已同步更新到pwncli
中,pwncli
的使用方式为:
|
|