Tanzeel0Hussain/VulnTrack
GitHub: Tanzeel0Hussain/VulnTrack
一个基于 PHP 和 MySQL 构建的赛博朋克风格漏洞赏金追踪平台,支持道德黑客提交漏洞报告并通过游戏化积分系统进行排名与管理。
Stars: 0 | Forks: 0
# VulnTrack - 漏洞与漏洞赏金追踪平台
VulnTrack 是一个安全的、基于 Web 的漏洞赏金追踪平台,专为道德黑客(用户)报告漏洞以及系统管理员审查、追踪和管理这些漏洞而设计。该平台实现了一个游戏化的评分系统,黑客可以根据已验证报告的严重程度获得积分,并显示在全球排行榜上。
## 🚀 核心功能
### 💻 黑客门户
* **控制台 / 终端访问:** 为用户提供安全的注册和登录功能。
* **漏洞报告表单:** 提交包含详细信息的漏洞(标题、分类、严重程度、描述和概念验证文件)。
* **概念验证上传:** 支持上传图片、PDF、ZIP 和文本格式,最大不超过 5MB,并为安全起见对文件名进行混淆处理。
* **我的报告终端:** 查看历史提交记录,检查验证状态,以及删除待处理的报告。
* **全球排行榜:** 根据验证积分对道德黑客进行排名。
### 🛡️ 管理员控制台
* **完整的 CRUD 管理:** 查看和管理所有已报告的漏洞。
* **验证控制台:** 更新漏洞状态(待处理、已验证、已解决、已拒绝)并自动奖励积分。
* **用户管理:** 查看所有注册用户,监控累计积分,以及封禁/删除账户(使用级联删除来清除关联数据)。
* **交流日志:** 查看和删除公开的联系请求。
### 🔐 安全集成
* **SQL 注入防护:** 对所有数据库交互使用 PDO 预处理语句。
* **XSS 缓解:** 使用 `htmlspecialchars()` 净化输出数据。
* **CSRF 防护:** 为改变状态(state-changing)的表单生成并验证加密的会话 token。
* **密码安全:** 通过 PHP 的 `password_hash()` 使用 `bcrypt` 加密用户密码。
## 🛠️ 技术栈
* **前端:** HTML5、CSS3、Tailwind CSS(基于 CDN 的样式)、赛博朋克主题美学。
* **后端:** PHP(原生 Session 处理器与 PDO)。
* **数据库:** MySQL。
## 📦 如何设置和运行
### A. 本地设置 (XAMPP/Localhost)
1. **克隆仓库:**
下载项目并将 `VulnTrack` 目录移动到您的本地服务器根目录(例如 `C:/xampp/htdocs/`)。
2. **启动服务:**
打开 XAMPP 控制面板并启动 **Apache** 和 **MySQL**。
3. **数据库配置:**
* 访问 `http://localhost/phpmyadmin/`。
* 创建一个名为 `vulntrack` 的新数据库。
* 点击 **Import** -> 选择 `database.sql` -> 点击 **Go**。
4. **配置项目:**
打开 `config.php` 并确保 localhost 的凭据处于启用状态:
$host = 'localhost';
$dbname = 'vulntrack';
$username = 'root';
$password = ''; // 默认 XAMPP 保持为空
5. **运行应用:**
在浏览器中打开 `http://localhost/VulnTrack/`。
* **默认管理员账户:**
* **用户名:** `admin`
* **密码:** `password`
### B. 部署设置 (InfinityFree / 在线主机)
如果您将其部署到像 InfinityFree 这样的在线 Web 托管服务上,您必须更改一些配置:
1. **在主机上创建数据库:**
* 登录到您的主机控制面板并打开 **MySQL Databases**。
* 创建一个名为 `vulntrack` 的数据库(它会被添加前缀,例如 `if0_XXXXXX_vulntrack`)。
2. **导入 Schema:**
* 在您的托管服务上打开 phpMyAdmin。
* 导入 `database.sql` 文件。
3. **修改 `config.php`:**
打开您的 `config.php` 文件,注释掉 localhost 的设置,并输入您的在线主机凭据:
$host = 'your_mysql_hostname'; // 例如 sql206.infinityfree.com
$dbname = 'your_database_name'; // 例如 if0_XXXXXX_vulntrack
$username = 'your_mysql_username'; // 例如 if0_XXXXXX
$password = 'your_hosting_password';// 您的账户密码
4. **上传文件:**
* 将所有文件(不包括 Git 文件)直接上传到您主机目录下的 **`htdocs`** 文件夹中。
* 确保存在 `uploads/` 目录并具有可写权限(chmod `777`)。
## 📁 文件结构
```
VulnTrack/
├── admin/
│ ├── dashboard.php # Admin statistics
│ ├── footer.php # Admin layout footer
│ ├── header.php # Admin navigation and CSS definitions
│ ├── manage_reports.php # Update status & reward points
│ ├── manage_users.php # User table and deletion
│ └── manage_messages.php # Contact signals panel
├── uploads/ # Dir for uploaded PoC files
├── about.php # Platform introduction & Rules of Engagement
├── config.php # Database PDO configuration & helper functions
├── contact.php # Secure communication form
├── database.sql # Database schema script
├── footer.php # Site footer
├── header.php # Primary navigation header
├── index.php # Main homepage landing
├── leaderboard.php # User point rankings
├── login.php # Hacker/Admin authentication
├── logout.php # Ends session
├── register.php # Request new hacker access profile
└── README.md # Project documentation
```
标签:ffuf, OpenVAS, PHP, Syscall, Web开发, 后台管理系统, 漏洞奖励计划, 漏洞管理平台, 漏洞追踪