com um clique
unauthorized-access
未授权访问检测 — 未登录用户可访问敏感接口、管理功能或核心数据的风险;适用于公开 API、管理端点与内部服务暴露场景。
Instalar com Codex ou Claude Copie este prompt, cole no Codex, Claude ou outro assistente e deixe que ele revise a página da skill e instale para você.
Menu
未授权访问检测 — 未登录用户可访问敏感接口、管理功能或核心数据的风险;适用于公开 API、管理端点与内部服务暴露场景。
Instalar com Codex ou Claude Copie este prompt, cole no Codex, Claude ou outro assistente e deixe que ele revise a página da skill e instale para você.
Baseado na classificação ocupacional SOC
白盒建模——一次深度建模产出五张共享模型:项目架构(技术栈/分层/框架自有封装/闭源依赖位置)、 入口点(路由/中间件信任边界)、认证与权限(会话/角色/多租户/归属字段)、业务(实体/流程状态机/ 业务不变量/高价值资产)、全局威胁(攻击面×漏洞类别的适用性映射,供下游逐一全测)。本能力不做漏洞判定,为后续 漏洞维度分析建立共享底图。
OS 命令注入综合检测——覆盖直接命令拼接 / shell 元字符 / 参数注入 / 间接 RCE,按回显 / 时间 / 带外通道分诊。 流量中参数值含主机名 / URL / 文件名 / 命令片段、响应里出现 shell 错误关键字(`/bin/sh` / `cmd.exe` / `command not found`)、注入 `sleep N` 耗时增加、上传后异步处理链路时使用。
文件上传多策略综合检测——覆盖扩展名 / MIME / 魔术数 / 解析漏洞 / 上传链组合(LFI / Zip Slip / SVG XSS / SVG XXE)。 流量含 multipart/form-data 上传、响应回显落盘路径、上传后文件可被 GET 解析、上传字段含 filename / path 可控时使用。
IDOR 水平越权检测 — 通过替换资源标识符(ID/UUID/路径)访问他人资源的风险;适用于用户资料、订单、文档、租户隔离场景。
检测路径穿越和本地文件包含(LFI)风险;当目标存在文件读取/下载/预览功能且含路径参数时触发;适用于文件下载、日志查看、模板加载等场景。
黑盒建模 — 迭代式攻击面建模,按站点级 / 页面级 / 功能级三粒度推进;进入新页面即触发一次页面级建模、切换新身份各刷新一次,产出端点账本与页面语义模型,为后续漏洞维度的适用性判断提供依据。
| name | unauthorized-access |
| description | 未授权访问检测 — 未登录用户可访问敏感接口、管理功能或核心数据的风险;适用于公开 API、管理端点与内部服务暴露场景。 |
| when-to-use | 当需要验证未登录用户是否可访问敏感接口、管理功能或核心数据时 |
| allowed-tools | bash,read_file,list_files,rg |
| user-invocable | false |
未授权访问成因:source(任何请求——包含无凭证 / 空凭证 / 伪造 header)→ sink(应受保护端点的认证决策点:路由认证中间件、handler 入口的鉴权调用、网关路由表的 public/protected 分类、静态资源 Server 的目录映射)。该端点应受保护但实际"漏挂中间件 / 路由前缀错配 / 兜底拒绝缺失 / 仅前端隐藏"导致未认证可达。详见同根目录 pentest/web-security-testing/SKILL.md 漏洞成因图谱 · 未授权访问行(不在本 skill 重复成因)。
以下是已知的常见未授权访问触发线索,作为基线起点而非必检硬清单。结合目标代码与上下文动态调整:
[x] done[-] n/a (原因),原因要具体到代码事实[+] added (来源)基线触发线索按"sink 语义"分类(不按业务命名):
/admin/* / /manage/* / /console/* / /ops/*,应仅管理员可达/internal/* / /api/v1/internal/* / /_api/*,意图仅内部服务调用/debug/* / /pprof/* / /.env / /actuator/* / /.git/* / /.DS_Store / phpinfo/swagger.json / /openapi.json / /v3/api-docs / GraphQL __schema 内省/export/* / /report/* / /logs/*,含批量数据/health / /status 暴露版本号、内部地址、DB 连接 string、依赖列表/static/.env / /uploads/backup.sql / /public/config.ymlauth.Required() / middleware.Auth() 调用;静态文件服务挂载在含敏感文件的目录加载本 skill 时按这些问题思考:
.env / backup.sql / 配置文件?common/closure-verification.md 的《破坏性 / 不可逆动作的闭环边界》执行——优先哨兵自证或非破坏差分,二者都做不到就停 suspected,不得对真实业务数据执行破坏动作来强行闭环。recon-methodology 产出的 shared/models/site-model.md 端点总表)筛选"应受保护"端点(产品语义、文档、页面入口、业务字段含敏感数据)完全删除全部认证信息(Cookie、Authorization、自定义 Token 头、Session ID)后重放同请求,对比是否仍返回敏感业务数据或执行成功。
保留认证头但把其值置空(Authorization: 、空 Token、user_id= 空、uid=0、X-User-Id: 0),探测后端把"空身份"误判为可信/默认放行的 fail-open 缺陷——部分中间件"有头即放行、不校验值"。
%2e 编码绕过路由前缀匹配/v1 vs /v2)鉴权配置可能漂移router.GET("/admin/users", handlers.ListUsers) — admin 端点漏挂认证中间件(no-cred-admin-endpoint-missing-middleware-unauth)http.Handle("/debug/", http.DefaultServeMux) — 调试路由暴露到公网(no-cred-debug-route-exposed-unauth)if r.Header.Get("Authorization") != "" { /* trust */ } — 有头即放行(empty-token-header-fail-open-unauth)http.Handle("/static/", http.StripPrefix("/static/", http.FileServer(http.Dir("./private")))) — 静态目录混入敏感文件(no-cred-static-sensitive-file-served-unauth)以下是未授权访问维度的典型窄化误判:
{} → 安全" — 错。需验证是否能从其他参数变体取到敏感数据(如改 GET 为 POST / 加分页参数 / 改 ID)为什么这里是「必须」:反例义务属于交付契约——"未发现未授权访问"或"鉴权已生效"结论是覆盖完整性的产物声明,缺失反向验证清单会让下游误信"该维度全站安全"。
写"未发现未授权访问"或"全站鉴权已生效"前,产物必须包含:
清单不完整 → 结论降级为 partial-coverage 并显式声明未覆盖范围(例如:仅测了业务 API、未测 debug / swagger / 静态资源敏感文件)。
通用闭环口径见同根目录 common/closure-verification.md(技能表 path 列同一抽取根下,需要时 read_file 读取)。核心:结论须形成「输入 → 处理 → 真实危害 → 可复核证据」完整证据链;仅凭状态码、跳转、页面轮廓等中间信号最多判 suspected,证明无/空凭证下真实读到敏感数据或写操作回读生效才判 confirmed。
confirmed| 现象 | 判定 |
|---|---|
| 无凭证仍可读取敏感数据或执行受限操作 | confirmed |
| 行为异常(如 200 空壳响应、含轮廓但无字段)但未证明数据/能力可用 | suspected |
| 无凭证返回 401/403/登录跳转且无敏感数据泄露 | not vulnerable |
| 只测了部分类型端点(如仅业务 API),未覆盖 debug / swagger / 静态敏感文件 | partial-coverage(不得宣称 safe) |
不可逆动作例外:上表 confirmed 行涉及删除/覆盖/不可逆写时,按
common/closure-verification.md《破坏性 / 不可逆动作的闭环边界》——不得对真实业务数据执行,改走哨兵自证或非破坏差分,二者都做不到则降suspected。
.env / 备份 / 配置文件