题解流水线题库 · 解题池 · 账本

访问控制

一条流水线,
从题目到解答。

管理面只做三件事:看题目解出来没有、看解题池为什么停、看账本与抓到的账号。没有用户体系——一个运维口令就是真实的运维模型,口令文件不存在时管理监听器拒绝启动。

管理面默认只绑回环 127.0.0.1;放到网关上必须显式 --admin-bind,且 --admin-allowed-host 必须与入口 hostname 逐字一致,否则隧道放行后仍会被 Host 白名单 403。

运维登录

口令存于服务器 private/admin.json(PBKDF2-HMAC-SHA256,60 万轮,16 字节盐,0600)。忘记口令用 bb-fleet --set-admin-password 从 stdin 重设。没有默认口令,也不需要用户名。

题目档案

题目与解答详情

题目

答案与原因

来源与处理记录

确认操作

凭据访问

账号凭据

点击「访问凭据」会按身份向服务端申请一次完整凭据。这次访问会写进服务端审计日志(时间、操作方来源、身份),并且只在这一个身份上生效——所以只在确实需要时点,不要为了「看一眼」点。

值只在这次响应里出现,关闭窗口即从本页清除;不写浏览器存储、不进 URL。

准入许可

明细

这条许可名下的一切,按记录上服务端盖的章聚类。

记录0
来源 IP0
账号0
最近活动尚无记录

正在载入…

来源 IP

IP类型条数最近

抓包结果

一行 = 一次往返,和老的抓包页一样:方法 / 状态码(200、503…)/ 域名 + 路径 / 时间。账本里一次往返是两条记录(响应那条的 target 是 resp:<名字>、method 是 <动词>/<状态码>),页面按 url 把两半配回一行——所以只有请求半的那行状态码是 —(没开 capture_response,或响应已出页)。留下了正文的标 (抓包)。点开一行是「请求」与「响应」两块,各带标头与正文(JSON 会重排);下面再跟这条往返的原始 JSON(展开时才生成,可整段拷走)。url 在服务端落盘前已把像密钥的查询值打成 *。

空记录 = 服务端把不认识的 kind 折成 other、而它又不在字段展开白名单里,于是整条正文被丢掉的那些行——展开也永远什么都没有。抓包自报 = event:tap_stats,抓包器在汇报自己这一分钟看到/镜像/送出/响应/丢弃了多少,不是页面的业务事件(它值得留着:一个静默死掉的抓包和一个正常工作的抓包,在账本上是一样的)。两类默认都不显示,因为一分钟一条会把真实抓包挤出列表;各自隐藏了多少条写在标题上,取消勾选即取回——账本里照旧只增不减,这里只影响这一页。

抓到的账号

身份账号学生抓到更新时间操作

记录是预算扫描:只从账本尾部读有限条,所以条数是上限而不是保证。

密钥

密钥

密钥原文是长期凭据:不要贴进聊天、工单或截图。看不到了就重新「查看密钥」(会再写一条审计行),泄露了就「吊销」——吊销下一条请求即生效,不需要重启服务端。

值只在响应里出现,关闭窗口即从本页清除(关窗会清空这个框,也清空复制的来源);不写浏览器存储、不进 URL。