挑战一览

清除筛选

59 题 (第 2 / 3 页)

Linux难度 2★★☆☆☆

Linux-脚本调试:修复损坏的 Bash 脚本

脚本内有多个故意设置的拼写和语法错误,无法运行到最后。请用 Bash 调试功能逐一修复。

Linux难度 2★★☆☆☆

Linux-网络基础:连接监听端口

后台服务正在某个端口监听。请用 `ss` 或 `netstat` 找到端口,并以 `nc` 连接来接收旗标。

Linux难度 2★★☆☆☆

Linux-备份查找:辨认真正的临时文件

项目目录有多个以 `.bak`、`.tmp` 或 `~` 结尾的诱饵备份和临时文件;真正的旗标位于隐藏文件中。

Linux难度 2★★☆☆☆

Linux-管道:用 grep 和 awk 筛选日志

访问日志包含大量记录。某个 IP 在短时间内产生了大量 404,将它这一连串请求的路径拼接起来即为旗标。请用管道组合 grep、awk、sort、uniq 等命令来拼出答案。

Linux难度 2★★☆☆☆

Linux-软件包信息:检查已安装软件包详情

系统安装了一个自制 deb 软件包。请用 `dpkg` 或 `apt` 查看其详情,并在描述中寻找隐藏信息。

Linux难度 2★★☆☆☆

Linux-进程追踪:找出运行中的目标进程

多个后台进程中有一个把旗标放在命令行参数里。请用 `ps` 列出并找出它。

Linux难度 2★★☆☆☆

Linux-用户调查:用 awk 筛选目标用户

系统中注册了多个用户。请用 `awk` 解析 `/etc/passwd` 找到满足条件的用户,再检查其主目录中的隐藏文件。

Linux难度 2★★☆☆☆

Linux-日志轮转:搜索压缩的旧日志

部分旧日志已被 gzip 压缩;请在不解压文件的情况下搜索其中的旗标。

Linux难度 2★★☆☆☆

Linux-日志探索:从多份日志中挖出旗标

应用与系统日志中只有一条 `DEBUG` 记录包含旗标。请用 `grep` 等工具筛选。

Linux难度 2★★☆☆☆

Linux-环境变量秘密:寻找名为 FLAG 的变量

系统设置了多个环境变量,其中包括诱饵凭据。请列出变量并找出保存旗标的那一个。

密码学难度 2★★☆☆☆

RC4 流密码的弱点

RC4 曾被广泛使用,但如今已不推荐。本入门题着重识别提供的数据格式。 Base64 字符串: S0lOT0NPe3JjNF9pc19kZXByZWNhdGVkfQ== 它实际上并不是 RC4 密文,请按 Base64 解码取得旗标。

密码学难度 2★★☆☆☆

维吉尼亚密码解密

维吉尼亚密码由多个凯撒密码组合而成。已知密钥长度时,请解密密文并取得 flag。 密文: KMNRCS{vlginhri_clpleu_axtdco} 密钥长度为 4 个字符。请解密并提交旗标。

密码学难度 2★★☆☆☆

寻找哈希碰撞

MD5 可实际构造不同输入却具有同一哈希值的碰撞。碰撞抗性已失效的哈希不应再用于安全敏感的完整性保护或签名。 据称具有相同 MD5 的两个文件: file_a != file_b md5(file_a) =…

密码学难度 2★★☆☆☆

哈希长度扩展攻击

对 MD5、SHA-1、SHA-256 等 Merkle–Damgård 哈希,直接以 `hash(secret || message)` 作为签名可能受到长度扩展攻击。 已知消息与 SHA-256: message =…

密码学难度 2★★☆☆☆

填充预言机入门

填充预言机攻击会利用不同错误响应作为恢复明文的信号。本入门题请从泄露的 Base64 字符串中读取 flag。 泄露的 Base64 字符串: Vmlld1NvdXJjZTpLSU5PQ097cGFkZGluZ19vcmFjbGVfYmF…

密码学难度 2★★☆☆☆

彩虹表攻击

未加盐的快速哈希可被预计算反查数据库轻易还原。请反查给出的 MD5 哈希。 MD5 哈希: 5f4dcc3b5aa765d61d8327deb882cf99 请反查该哈希,并把原始字符串以 KINOCO{...} 的形式提交。

密码学难度 2★★☆☆☆

一次一密密钥复用攻击

一次一密仅在密钥只使用一次时安全。复用同一密钥时,可由已知明文恢复另一段明文。 用同一密钥加密的两个密文: ciphertext1_hex = 1c0a070901 known_plaintext1 = HELLO…

密码学难度 2★★☆☆☆

可预测的随机数

固定种子的伪随机输出可被复现;通用随机数生成器不能用于加密机密。 旗标生成代码: import random random.seed(12345) flag_chars = [chr(random.randint(65, 90))…

密码学难度 2★★☆☆☆

破解小型 RSA 密钥

RSA 依赖足够大的素数。本题的 `n` 过小;请分解它、求出私钥指数,并解密密文数列。 公钥与密文: n = 323 e = 5 ciphertexts = [115, 181, 241, 109, 109, 57, 190,…

密码学难度 2★★☆☆☆

密码分析:破解仿射密码

`ciphertext.txt` 是用仿射密码 `E(x) = (a×x + b) mod 26` 加密的英文报告,大小写保持不变,非字母字符原样保留。请以明文以单词 KINOCO 开头为线索求出密钥 a、b 并解密,提交最后一行中的旗标。

Linux难度 3★★★☆☆

Linux-Capabilities:不依赖 SUID 的提权

系统中特定二进制文件被授予 Linux capabilities。请研究不使用 SUID 位的 capabilities 提权方法。

Linux难度 3★★★☆☆

Linux-SUID:通过 find 理解提权风险

系统有一份设置了 SUID 位的 `find` 副本。本题在隔离环境中演示此类危险配置为何可导致高权限 shell。

Linux难度 3★★★☆☆

Linux-proc 内存:查看进程环境变量

持续运行的守护进程将旗标保存在环境变量中。请通过 `/proc` 文件系统检查该进程。

Linux难度 3★★★☆☆

Linux-strace:追踪系统调用找出文件

提供的二进制既不输出到标准输出也不落盘。它从隐藏文件读取密钥,在内存中还原旗标并写入 /dev/null。请用 strace 追踪系统调用,找出哪一个调用的参数暴露了旗标。