Bluestar-coder/HackBar
GitHub: Bluestar-coder/HackBar
Bluestar-coder/HackBar 是一款基于Chrome DevTools的Web安全测试扩展。
Stars: 0 | Forks: 0
# HackBar
HackBar 是一个基于 Chrome Extension Manifest V3 的 DevTools Panel 扩展,用于复刻经典 HackBar 的请求编辑、Payload 插入、编码转换和响应查看体验。
## 本地加载
1. 打开 `chrome://extensions`。
2. 开启右上角的「开发者模式」。
3. 点击「加载已解压的扩展程序」。
4. 选择当前项目目录:`E:\Code\ChromeExt\hackbar`。
5. 打开任意网页。
6. 打开 Chrome DevTools,切换到 `HackBar` 面板。
## 当前功能
- 在 DevTools 中提供 `HackBar` 面板。
- 一键加载当前 inspected page 的 URL。
- 经典布局:顶部工具菜单、左侧 `Load URL` / `Split URL` / `Execute` 操作按钮。
- 支持 HTTP Method:`GET`、`POST`、`PUT`、`PATCH`、`DELETE`、`HEAD`、`OPTIONS`。
- 默认 GET 模式只显示 URL 输入框;勾选 `Post data` 会自动切换到 POST 并显示 body 编辑框。
- `Split URL` 会根据 `Post data` 状态拆分参数:
- 未勾选 `Post data`:参数在 URL 框内分行展示。
- 勾选 `Post data`:URL 保留基础路径,参数移动到 Post data 框。
- 支持 Content-Type 快捷选择:Form、JSON、Text、XML。
- 支持 JSON body 的 Pretty / Minify。
- 支持可选 Referer、User Agent、Cookies 输入区。
- 支持高级 Headers 编辑区。
- 支持 `Update page`:Execute 成功后让当前 inspected page 跟随请求变化。
- GET/HEAD:当前页面跳转到 URL。
- POST 等表单类请求:在当前页面创建表单并提交。
- 请求通过 MV3 background service worker 代理发送,默认使用 `credentials: "include"`。
## 工具菜单
- `Encryption`
- Base64 Encode / Decode
- MD5
- SHA-1
- SHA-256
- `Encoding`
- URL Encode / Decode
- HTML Encode / Decode
- Hex Encode / Decode
- Unicode Encode / Decode
- `SQL`
- Boolean、Union、Order/Group、注释、数据库指纹、Error based、Time based、Stacked query payload。
- `XSS`
- HTML、属性、SVG、MathML、URL、textarea/title/JS 字符串上下文 payload。
- `Other`
- Traversal/LFI、SSTI、XXE、SSRF、Open Redirect、CRLF、Log4Shell probe。
## Payload Workspace
- 支持 Payload Search,按标签、分类、分组或 payload 内容搜索。
- 支持插入时编码链:Raw、URL、HTML、Unicode、Base64。
- 支持收藏 payload,收藏数据保存到 `chrome.storage.local`。
- 支持自定义 payload 字典:
- 添加自定义 label、分组和 payload。
- 删除自定义 payload。
- 自定义 payload 参与搜索和收藏。
## 请求历史与 Presets
- 请求成功后自动写入 History。
- History 记录 Method、URL、Headers、Body、状态码、耗时和时间。
- 点击 History 条目可回填请求。
- 支持清空 History。
- 支持保存当前请求为 Preset。
- 点击 Preset 可回填 Method、URL、Headers 和 Body。
- 支持删除 Preset。
## Response 查看
- 显示状态码、耗时、响应大小和格式类型。
- 支持 `Body` / `Headers` 标签切换。
- Response Body 支持 Tree / Raw 两种视图:
- HTML 使用 DOM Tree Viewer。
- JSON 使用 JSON Tree Viewer。
- 默认展开 5 层。
- 解析失败时自动回退 Raw。
- Tree 支持:
- Expand all / Collapse all。
- 点击节点选中。
- Copy node。
- Copy path。
- Raw 支持格式化和语法高亮。
- 支持 Response 搜索:
- Tree 中标记匹配节点。
- Raw 中高亮匹配文本。
- 支持导出 Response Body 和 Response Headers。
- 根据 DevTools 停靠形态自适应布局:
- 底部停靠时默认折叠 Response。
- 右侧停靠时 Response 占满下方剩余空间。
## 已知限制
- Chrome Fetch API 对部分请求头有限制,`User-Agent`、`Cookie` 等 header 可能被浏览器拒绝或忽略。
- Cookie 的主要生效方式是浏览器登录态和 `credentials: "include"`。
- `Update page` 的 POST 模式适合传统表单提交,不适合任意 JSON body 或复杂自定义 Header。
- 当前版本不预览二进制响应。
- 当前版本不包含自动化漏洞扫描。
## 项目结构
- `manifest.json`:扩展清单文件。
- `devtools.html` / `devtools.js`:注册 DevTools 面板。
- `panel.html` / `panel.css` / `panel.js`:HackBar 面板界面与交互逻辑。
- `background.js`:请求代理和响应处理。
- `request-tools.js`:编码、解码和 hash 工具。
- `response-format.js`:响应内容格式化和高亮。
- `response-tree.js`:HTML / JSON Tree Viewer。
- `app-state.js`:History、Presets、Payload 收藏和自定义字典状态管理。
- `page-update.js`:生成 inspected page 跳转或表单提交脚本。
- `tests/`:Node 测试。
- `docs/superpowers/specs/`:设计规格文档。
- `docs/superpowers/plans/`:实施计划文档。
标签:多模态安全, 数据可视化, 自定义脚本