ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

如何在 Strix 扫描中连接 Caido Desktop 接管代理流量并回放请求

如何在 Strix 扫描中连接 Caido Desktop 接管代理流量并回放请求 如何在 Strix 扫描中连接 Caido Desktop 接管代理流量并回放请求【免费下载链接】strixOpen-source AI penetration testing tool to find and fix your app’s vulnerabilities.项目地址: https://gitcode.com/GitHub_Trending/strix/strixStrix 扫描时所有浏览器流量都经过沙箱内的 Caido 代理agent 会对请求自动抓包、过滤和回放。但如果你想人工介入——在扫描进行中查看 agent 发出的每一条 HTTP/HTTPS 请求、手动修改并回放、或对 agent 报告的结果做验证——可以把宿主机上的 Caido Desktop 连接到沙箱里的 Caido 实例。本文基于 proxy 文档 和 Quick Start给出从启动扫描、在 Caido Desktop 接入到回放请求的完整路径。前提条件Docker 处于运行状态Strix 的沙箱是 Kali Linux 基础的 Docker 容器已配置任一受支持的 LLM provider 的 API key已安装 Strix两种官方方式任选其一curl -sSL https://strix.ai/install | bash或pipx install strix-agent宿主机上已安装 Caido DesktopStrix 只负责把沙箱内的 Caido 代理暴露到宿主机Desktop 客户端需要你自己安装只对你拥有或已获书面授权的系统执行扫描。启动扫描并找到 Caido 接入地址先设置 LLM再像平时一样启动扫描。Caido 地址是在交互模式TUI下才展示的所以不要用--non-interactive跑export STRIX_LLMopenrouter/z-ai/glm-5.3 export LLM_API_KEYyour-api-key strix --target ./your-appyour-app替换为你要测的目标本地目录、URL 或仓库地址均可。首次运行会自动拉取 Docker 沙箱镜像。沙箱启动后在 TUI 侧边栏的 stats 面板里找到Caido这一项点击即可复制地址文档示例为localhost:52341实际端口以你这次运行显示的值为准。在 Caido Desktop 中连接实例按 proxy 文档给出的顺序操作像往常一样启动一次 Strix 扫描在侧边栏 stats 面板找到 Caido URL形如localhost:52341在 Caido Desktop 中打开该 URL点击Continue as guest接入这个实例。接入成功的标志你能在 Caido Desktop 里实时浏览 agent 正在发出的全部 HTTP/HTTPS 请求。连接建立后你可以做这些事均来自 proxy 文档的说明Inspect traffic— 实时浏览 agent 发出的所有 HTTP/HTTPS 请求Replay requests— 取任意一条已捕获请求加自己的修改后重发Intercept and modify— 请求在途时暂停、编辑再转发Explore the sitemap— 查看 agent 已发现的攻击面树Manual testing— 对 agent 报告的结果做人工复测或探索 agent 没到达的区域。回放请求在 Caido Desktop 中手动改包重发Caido 捕获的每一条请求都可以带修改回放。Strix 文档列出的典型改法改路径参数测 IDOR改请求体测注入增删请求头测认证绕过改 Cookie测会话问题。操作即“浏览 → 捕获 → 修改 → 测试”在流量列表里选中目标请求编辑 URL/headers/body/cookies然后 resend观察响应状态码和内容的变化。让 shell 流量也进入代理如果想在沙箱里用curl发起一次性请求并让它同样被捕获、可回放直接用 shell 工具即可——沙箱的HTTP_PROXY环境变量已把流量路由到 Caido所以curl的请求会出现在list_requests里之后就能用repeat_request回放。脚本化回放沙箱内的 caido_api除手动操作外agent或你让 agent 写的 Python 脚本可以调用镜像内置的caido_api模块做脚本化测试。proxy 文档给出的示例脚本文档示例req_123是占位请求 ID实际应替换为list_requests返回的 IDimport asyncio from caido_api import list_requests, repeat_request, view_request async def main(): # List recent POST requests post_requests await list_requests( httpql_filterreq.method.eq:POST, first20, ) # View a specific request request_details await view_request(req_123, partrequest) # Replay with modified payload response await repeat_request( req_123, modifications{body: {user_id: admin}}, ) print(response[status], request_details is not None, len(post_requests.edges)) asyncio.run(main())文档列出的可用函数函数用途list_requests()用 HTTPQL 过滤查询已捕获流量view_request()获取完整请求/响应详情repeat_request()带修改回放一条请求list_sitemap()浏览发现面的请求树视图view_sitemap_entry()查看单个 sitemap 条目及其相关请求scope_rules()管理代理 scopeallowlist/denylistrepeat_request回放的请求继承原始请求的全部内容headers、cookies、认证、method、URL只覆盖modifications里指定的字段。modifications支持的键及其含义见 tools.py 的参数说明url替换 URL、params新增/更新查询参数、headers新增/更新请求头、body整体替换请求体、cookies新增/更新 Cookie。HTTPQL 过滤语法有两条容易踩的坑来自 tools.py 中的说明HTTPQL 没有NOT操作符要用否定形式如ncont、nregex例如req.path.ncont:/static字符串值必须加引号整数值不能加引号resp.code.eq:200正确resp.code.eq:200会解析报错。用 Scope 过滤流量扫描目标较多时用 scope 把流量限制到相关域名。proxy 文档给出的示例Allowlist: [api.example.com, *.example.com] Denylist: [*.gif, *.jpg, *.png, *.css, *.js]规则语义见 tools.py空 allowlist 表示放行所有域名denylist 始终优先于 allowlist。scope 有唯一 id可作为list_requests的scope_id参数使用。边界与限制Caido URL 是每次运行动态暴露到宿主机的地址示例值localhost:52341只作格式参考以 TUI 侧边栏实际显示为准接入依赖交互模式TUI 侧边栏展示 URL-nheadless 模式下没有这个入口回放结果取决于目标环境repeat_request返回的status为DONE才表示请求发出完成文档 IDOR 示例脚本中以此判断回放完成状态码本身要看目标响应沙箱会真实执行请求务必遵守授权范围。完成接入与回放后你可以在 Caido Desktop 里继续用 sitemap 探索 agent 尚未覆盖的攻击面或按 Scan Modes 调整下一次扫描的深度。【免费下载链接】strixOpen-source AI penetration testing tool to find and fix your app’s vulnerabilities.项目地址: https://gitcode.com/GitHub_Trending/strix/strix创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表