neko205-mx/O.B.J_Mirage

GitHub: neko205-mx/O.B.J_Mirage

基于 Vercel serverless 架构的多语言 Webshell 管理器,兼容冰蝎协议,支持 PHP 与 JSP 目标的远程命令执行与文件管理。

Stars: 2 | Forks: 0

# O.B.J_Mirage ![pasted-image-1784965859676.webp](https://files.seeusercontent.com/2026/07/25/7Glw/pasted-image-1784965859676.webp) 仅用于授权安全研究 / 教学演示。请勿用于未授权目标。 O.B.J_Mirage 是针对公共服务滥用课题实现的第二个 demo ## 架构 ``` 浏览器 ──HTTPS──> Vercel │ ├─ 静态资源: frontend/dist ├─ /api/* → Auth + Runtime + Artifact + Parser │ │ │ └─ fetch() ──> PHP / JSP 目标 │ └─ Upstash Redis (shell 列表 / 历史) ``` | Runtime | Parser | 当前能力 | |---------|--------|----------| | PHP | Eval POST / Eval GET / Behinder Classic / 信鸽 AES | 基础信息、探测、命令、文件、MySQL、隧道、disable_functions bypass | | JSP / Java | JSP Class POST / JSP Behinder Classic | 基础信息、深度探测、命令、文件、JDBC MySQL/MariaDB、Java Socket 反向 Shell | ## 部署步骤 ### 1. 安装依赖 ``` npm ci npm --prefix frontend ci ``` 本项目要求 Node.js 20 或更高版本。需要更新依赖时才使用 `npm install`,并一并提交变更后的锁文件。 ### 2. 设置环境变量 本地开发用环境变量: ``` export AUTH_PASSWORD=your_password export AUTH_TOKEN_SECRET=replace_with_a_random_long_string export SESSION_TTL=86400 # 可选,默认 24h export UPSTASH_REDIS_REST_URL=... export UPSTASH_REDIS_REST_TOKEN=... ``` 线上部署在 Vercel Project Settings -> Environment Variables 中配置。 ### 3. 本地启动 ``` npm run dev # 后端 :8000 npm run frontend:dev # 前端 :5173 ``` ### 4. JSP Runtime JSP payload 源码使用 Java 8 编译,生成的 class 已提交到仓库,因此构建不需要 JDK。修改 `payload-src/jsp/WsmPayload.java` 后需要重新生成 class: ``` npm run payload:jsp npm run test:jsp-payload ``` 测试 ``` npm run test:jsp-endpoint -- https://target.example/wsm-loader.jsp your_password ``` 连接冰蝎马选择 `JSP Behinder Classic`,连接密钥填 16 字节 key 测试 ``` npm run test:jsp-endpoint -- \ https://target.example/behinder-classic.jsp \ sixteen-byte-key \ behinder ``` ### 5. 部署到 Vercel fork 后自行部署,需要注意配置环境变量 https://vercel.com/new AUTH_PASSWORD / AUTH_PASSWORD_HASH AUTH_TOKEN_SECRET UPSTASH_REDIS_REST_URL UPSTASH_REDIS_REST_TOKEN ## API 概览 | 方法 | 路径 | 说明 | |------|------|------| | POST | `/api/auth/login` | `{password}` → `{token}` | | GET | `/api/shells` | 列出 shell | | POST | `/api/shells` | 新建 shell | | GET | `/api/shells/:id` | 详情 | | PUT | `/api/shells/:id` | 更新 | | DELETE | `/api/shells/:id` | 删除 | | POST | `/api/shells/:id/exec` | `{payload, args}` → 结果 | | GET | `/api/shells/:id/history` | 命令历史 | | GET | `/api/payloads` | payload 清单 | ![pasted-image-1784962102306.webp](https://files.seeusercontent.com/2026/07/25/Xr1e/pasted-image-1784962102306.webp) ![pasted-image-1784962217911.webp](https://files.seeusercontent.com/2026/07/25/Lgq6/pasted-image-1784962217911.webp)
标签:GNU通用公共许可证, MITM代理, Node.js, OSV, PE 加载器, Serverless, Vercel, Webshell管理器, 自动化攻击