Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

一款基于 Java 构建的轻量级命令行工具(CLI),用于从 Exploit-DB 数据库中抓取、解析、展示并导出漏洞利用信息。 本工具专为安全研究员、渗透测试人员以及开发者设计,无需依赖浏览器,即可在终端中快速检索已公开的漏洞利用(exploit),包括 CVE 编号、漏洞类型、平台分类等核心字段。 工具支持关键词搜索、条件过滤、分页展示,并提供多种格式(如 JSON、CSV 等)的导出能力,可轻松集成到自动化分析流程、CTF 工具链,或用于离线环境下的信息收集与漏洞整理。 无论你是在进行日常安全研究,还是构建自己的私有漏洞情报库,这款工具都能为你提供一个快速、高效、极简的 Exploit-DB 数据访问接口。

License

ctkqiang/exploitdb

Repository files navigation

ExploitDB 搜索工具 🔍🧨

一款轻量级 Java CLI 工具,用于抓取、展示和导出 Exploit-DB 的漏洞数据


demo


📌 项目简介

ExploitDB 搜索工具 是一个用 Java 编写的命令行应用,支持自动化爬取 Exploit-DB 的公开漏洞信息,支持以表格形式展示并可导出为 CSV 文件。

本工具适合:

  • 安全研究员快速检索漏洞数据
  • 企业安全响应人员用于建立本地漏洞知识库
  • 自动化漏洞分析链路中的数据源接口模块

✨ 项目特性

  • ✅ CLI 交互式操作体验,适合终端用户
  • ✅ 自定义爬取页数(默认 50)
  • ✅ 中文表格美观输出,自动对齐 & 截断优化
  • ✅ 自动跳过重复数据,支持增量更新
  • ✅ 面向对象结构,易于扩展与维护

程序流程

sequence


🧠 架构模块

├── README.md
├── pom.xml
├── scripts
│ └── db.sql
├── src
│ ├── main
│ │ ├── java
│ │ │ └── xin
│ │ │ └── ctkqiang
│ │ │ ├── Main.java
│ │ │ ├── config
│ │ │ │ └── Configuration.java
│ │ │ ├── controller
│ │ │ │ ├── DatabaseController.java
│ │ │ │ ├── ExploitDbController.java
│ │ │ │ └── UserUtil.java
│ │ │ └── dto
│ │ │ └── Exploit.java
│ │ └── resources
│ └── test
│ └── java
└── target

💻 使用方法

mvn clean compile exec:java

Maven 来打包成 jar

mvn clean package

首次运行时会:

  1. 自动创建数据库表(如果不存在)
  2. 提示你输入要爬取的页数(留空则默认 50 页)
  3. 是否导出为 CSV 文件
  4. 展示爬取结果(以 CLI 表格形式输出)

📦 编译方式

确保你已安装:

  • Java 17+
  • Maven
  • 本地 MySQL 数据库,并设置 .env 或配置常量中的数据库连接信息
# 编译
mvn clean package
# 运行
mvn clean compile exec:java

🗃 数据库结构(MySQL)

CREATE DATABASE IF NOT EXISTS ExploitDB;
USE ExploitDB;
CREATE TABLE records (
 id VARCHAR(64) NOT NULL COMMENT '唯一标识符',
 description TEXT COMMENT '描述信息',
 date VARCHAR(20) COMMENT '日期(字符串格式)',
 author VARCHAR(100) COMMENT '作者名称',
 type VARCHAR(50) COMMENT '记录类型',
 platform VARCHAR(50) COMMENT '所属平台',
 created_at DATETIME DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
 PRIMARY KEY (id)
) ENGINE = InnoDB DEFAULT CHARSET = utf8mb4 COMMENT = '记录表';

🧪 示例输出(部分)

+------+------------------------------------------+------------+-----------------+------------+------------+
| 编号 | 描述 | 日期 | 作者 | 类型 | 平台 |
+------+------------------------------------------+------------+-----------------+------------+------------+
| 1 | Microsoft IIS - WebDAV 'ntdll.dll' Re... | 2003年03月23日 | kralor | remote | Windows |
| 2 | Linux Kernel 2.2.x - 'ptrace()' Loca... | 2003年04月10日 | Wojciech Pur... | local | Linux |
+------+------------------------------------------+------------+-----------------+------------+------------+

❓ 常见问题

1. 程序运行报 StringEscapeUtils 不存在?

请确认你引入了 Apache Commons Text:

<dependency>
 <groupId>org.apache.commons</groupId>
 <artifactId>commons-text</artifactId>
 <version>1.10.0</version>
</dependency>

2. 中文乱码?

请确认控制台字符集为 UTF-8,并确保你在代码中使用了:

System.setOut(new PrintStream(System.out, true, "UTF-8"));

👩‍💻 作者信息

  • 👩🏻‍💻 项目作者:灵儿(ctkqiang)
  • 🐱 GitHub:https://github.com/ctkqiang
  • 📚 Gitcode:https://gitcode.com/ctkqiang_sr
  • 📝 个人博客:https://blog.ctkqiang.com
  • 📮 反馈邮箱:ctkqiang@dingtalk.com

🤝 贡献指南

欢迎提交 Issue 和 Pull Request 来帮助改进这个项目!

  1. Fork 本仓库
  2. 创建您的特性分支 (git checkout -b feature/AmazingFeature)
  3. 提交您的更改 (git commit -m 'Add some AmazingFeature')
  4. 推送到分支 (git push origin feature/AmazingFeature)
  5. 打开一个 Pull Request

👥 作者


🧪 未来计划

  • 支持关键字搜索(如作者、平台筛选)
  • 图形化桌面前端(JavaFX / Electron)

👉 阅读完整博客教程请看:《从零教你构建 Java Web 爬虫(纯原生,无 Jsoup)》


🫶 Star 一下让我知道你看见我啦!

这不仅是个工具,也是我热爱的安全世界的一部分 ❤️

🤝 加入技术交流群

欢迎加入我们的技术交流群,与其他安全研究者分享经验和知识!


QQ交流群: 934810107
(扫码加入,一起探讨安全技术)
钉钉交流群
(扫码加入,一起探讨安全技术)

许可证

本项目采用 木兰宽松许可证 (Mulan PSL) 进行许可。
有关详细信息,请参阅 LICENSE 文件。
(魔法契约要保管好哟~)

License: Mulan PSL v2

🌟 开源项目赞助计划

用捐赠助力发展

感谢您使用本项目!您的支持是开源持续发展的核心动力。
每一份捐赠都将直接用于:
✅ 服务器与基础设施维护(魔法城堡的维修费哟~)
✅ 新功能开发与版本迭代(魔法技能树要升级哒~)
✅ 文档优化与社区建设(魔法图书馆要扩建呀~)

点滴支持皆能汇聚成海,让我们共同打造更强大的开源工具!
(小仙子们在向你比心哟~)


🌐 全球捐赠通道

国内用户


🔵 支付宝(小企鹅在收金币哟~)
🟢 微信支付(小绿龙在收金币哟~)

国际用户


📌 开发者社交图谱

技术交流

社交互动


🙌 感谢您成为开源社区的重要一员!
💬 捐赠后欢迎通过社交平台与我联系,您的名字将出现在项目致谢列表!

About

一款基于 Java 构建的轻量级命令行工具(CLI),用于从 Exploit-DB 数据库中抓取、解析、展示并导出漏洞利用信息。 本工具专为安全研究员、渗透测试人员以及开发者设计,无需依赖浏览器,即可在终端中快速检索已公开的漏洞利用(exploit),包括 CVE 编号、漏洞类型、平台分类等核心字段。 工具支持关键词搜索、条件过滤、分页展示,并提供多种格式(如 JSON、CSV 等)的导出能力,可轻松集成到自动化分析流程、CTF 工具链,或用于离线环境下的信息收集与漏洞整理。 无论你是在进行日常安全研究,还是构建自己的私有漏洞情报库,这款工具都能为你提供一个快速、高效、极简的 Exploit-DB 数据访问接口。

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Contributors 3

AltStyle によって変換されたページ (->オリジナル) /