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/`:实施计划文档。
标签:多模态安全, 数据可视化, 自定义脚本