news 2026/11/3 10:49:41

Bugku 场景题与行为门禁实战:七项发布门禁与现代隐写

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Bugku 场景题与行为门禁实战:七项发布门禁与现代隐写

平台:ctf.bugku.com|范围:场景题(在线容器)+ 行为门禁型题目 + 现代隐写 特点:这类题不是找到漏洞就行,而是要满足题面给定的「行为指标」或「容器判定」,差一点就不给结果。

0. 场景题的两类形态

形态判定方式典型代表
问答型场景内 7–17 道题全对后返回平台 flag流量取证、应急响应类
门禁型提交数据 → 服务端训练/评估 → 指标全过才released数据投毒、模型评测类
利用型常规渗透拿 RCE/文件读取SSRF、上传、反序列化

图 1:问答型 / 门禁型 / 利用型的判定链(Archify architecture)

1. 行为门禁:七项指标与「n 维扫描」配方

以「标注回流」型题目为例:提交一份 JSONL 训练样本,服务端训练候选模型后返回 7 项指标,全部达标才返回 flag。

指标阈值含义
Clean Accuracy≥0.92干净集准确率
Clean F1≥0.90干净集 F1
Blocked Recall≥0.90应拦截样本被拦截的比例
Allow Precision≥0.89放行样本中无害的比例
Redteam Release≥0.72攻击性样本被放行的比例
Release Confidence≥0.60放行置信度
Shadow Block≥0.78影子集拦截率

1.1 关键发现:指标几乎只由「样本数 n」决定

同一 n 下换内容组合,指标基本不动;n 一变,整体跳变。实测(单窗口 ~15 秒一次评测):

nBlockedRedteam结论
28(官方样例).8727.6406双不达标
40.8455.6914盲目扩充反而压低 blocked
41.9545.6406blocked 达标但 redteam 崩
42(hard=6~10).8909.8828只差 blocked 0.0091
42(hard=14).9000.8789✅ 全过 → released
43.9273.7031~.7188redteam 差 0.0012
46 / 49.9273/.9545.3164/.2500redteam 崩

配方:官方样例 28 条 + 14 条「演练/教学语境」的正常样本(共 42),批次号与样本前缀一致。

1.2 六条硬约束(不满足直接打回)

  1. 样本数 28–54 行;
  2. text长度34–40 字符(超了报「第 N 行长度不符合要求」);
  3. 单行 JSON 约 61–67 字符;
  4. 内容过审:口令/密码/提权/载荷/攻击等词会被拒;
  5. 样本必须唯一(重复报「重复标注样本过多」);
  6. 多数样本text必须以页面填写的批次号开头。

1.3 方法论

  • 先扫维度再调内容:把「内容空间」搜索换成「结构空间(n、比例)」搜索,效率差一个数量级;
  • 压线题看阈值粒度:指标常以 1/128 为粒度跳变,差 0.0012 与差 0.09 是一样的——都要换 n 或换比例;
  • 一次窗口只改一个变量,记录 (n, hard 比例, blocked, redteam)。

2. 现代隐写与容器技巧(场景题常用)

2.1 CRC32 反演:4 字节明文直接解

定长 4 字节时crc32(x) = M·x ⊕ c是 GF(2) 仿射双射,可逆:

c = zlib.crc32(b'\x00'*4) & 0xFFFFFFFF cols = [((zlib.crc32((1<<i).to_bytes(4,'big')) & 0xFFFFFFFF) ^ c) for i in range(32)] # 32×32 GF(2) 消元 → 由 CRC 字段反解 4 字节明文(无需口令)

边界:仅当明文定长且 CRC 可信(非 AES)时成立。

2.2 RAR4 单字节头篡改

unrar l -v报头损坏 →name-32反推头起点 → 用健康条目校准CRC32(header[2:HEAD_SIZE])口径 → 把HEAD_TYPE从0x7a(HEAD_SERVICE)改回0x74(HEAD_FILE),重算 CRC 与存储值自洽 → 正常导出。 (7z 会跳过 service 记录,只有 unrar 暴露。)

2.3 零宽字符:7 位 base5 → UTF-16

574 个零宽、5 种符号、每行块都是 7 的倍数 →574 = 82 × 7: 5 符号映射 0..4 → 每 7 个按 base5 拼整数 v →chr(v)直接当 UTF-16 码元(不是 GBK、不是 CJK 偏移)。

2.4 密码学:纯密文攻击

  • 3131 类:逐段 Vigenère,用重合指数 IC 定 key 长(8),每列用卡方统计挑偏移,纯离线 1 秒出解;
  • ADFGVX 类:6×6 Polybius + 列换位,缺 key 时先做频率分析,再枚举列序。

2.5 流量取证

  • SSH 溯源:banner 分组区分 libssh 爆破 / OpenSSH 手动 / PuTTY 运维,follow,tcp,ascii读反弹 shell 明文;
  • ICMP 隧道:取 ICMP data → 去头 → AES-256-CBC 解密 → GZip 解压;
  • 数据库盲注:sqlmap 用重查询代替 sleep,真假分支差 0.5s 量级 → 判时间盲注后逐位还原。

3. 场景题作战纪律

  1. 单窗口 ≤8 分钟:抓题面 → 抓附件 → 分析 → 提交 → 释放,一次做完;
  2. flag 必须在销毁场景前提交,销毁后无法补;
  3. 先离线、后窗口:附件/pcap/源码在本地做完再开窗,窗口只做提交;
  4. 问答型提交脚本自己闭环:只输出真结果,不要把中间候选串打出去;
  5. 失败写清「已排除项 + 可逆条件」,不要把「试过」当「排除」。

4. 一页检查表

[ ] 场景是问答型/门禁型/利用型?判定方式先确认 [ ] 门禁型:7 项阈值记下来了吗?先扫 n 还是先调内容? [ ] 样本硬约束(长度/唯一/前缀/敏感词)逐条过了吗? [ ] 容器异常:先判 magic,再修头(RAR 用 CRC 自洽法) [ ] 隐写:通道顺序 → LSB → 差值 → 调色板 [ ] 编码:先看整除性与符号种类,再定映射 [ ] 窗口纪律:一次做完、先提交再释放

5. 图形附件(Archify)

图文件说明
场景题三类形态与判定链scene-arch.html(交互图,本地交付包)问答/门禁/利用三条链
场景题作战流程scene-timeline.html(交互图,本地交付包)摸规则→扫维度→突破→复核→归档

流程视图

从判型到归档的主线流程:每步都要求留下原始输出,结论必须能被独立脚本重跑。

两图archify check均issues: [];archify finalize均ok:true+browser-check:pass;正文内嵌同源 PNG 截图。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/11/3 10:49:04

《深入理解Java虚拟机》第六章学习笔记:类文件结构

6.1 概述越来越多的程序语言选择了与操作系统和机器指令集无关的、平台中立的格式作为程序编译后的存储格式6.2 无关性的基石平台无关性&#xff1a;Java虚拟机可以运行在不同的硬件平台和操作系统上&#xff0c;这些虚拟机可以载入和执行同一种字节码文件&#xff0c;实现“一…

作者头像 李华
网站建设 2026/11/3 10:48:57

DIVA安卓逆向

打开APP&#xff0c;进入第一关检测不通过翻译在日志中&#xff1f;失败了&#xff0c;直接白屏&#xff0c;app直接崩了&#xff1f;修改代码报错Log.d存在多个重载版本修改脚本找到了日志泄露根据字符在jadx中搜索一下泄露的源码

作者头像 李华
网站建设 2026/11/3 10:46:07

Linux入门第二部分(ARM裸机篇) 第三章 汇编LED驱动实验

参考教程&#xff1a;正点原子【第二期】手把手教你学Linux之ARM&#xff08;MX6U&#xff09;裸机篇_哔哩哔哩_bilibili 一、I.MX6ULL IO命名与配置寄存器 1、STM32引脚的命名与相关寄存器 &#xff08;1&#xff09;在STM32中&#xff0c;引脚的命名简单直观&#xff0c;比…

作者头像 李华
网站建设 2026/11/3 10:44:03

机器人自动化装配线 SPC 控制图工程实战案例与计算报告

1. 工程背景与工艺质量特性&#xff08;CTQ&#xff09;定义在某新能源动力电池包&#xff08;PACK&#xff09;智能化装配线上&#xff0c;工位 OP30 部署了一台六轴机器人搭载高精度伺服智能拧紧枪&#xff0c;执行电池包上盖 M6 结构螺栓的高速自动化定扭紧固工艺&#xff0…

作者头像 李华