六安市第二届网络安全大赛WP
字数 1439 2025-08-22 12:22:42

六安市第二届网络安全大赛WP解析与教学文档

1. MISC题目解析

1.1 俄罗斯方块题目

题目描述:提供了四张图片,需要拼接PPT并补全缺失的三个角

解题步骤

  1. 将四张图片按照俄罗斯方块形状拼接
  2. 观察发现缺少三个角
  3. 补全后得到flag格式:flag{qfnh_wergh_wqef}

关键点

  • 需要识别图片的拼接方式
  • 注意观察缺失部分的位置
  • 补全后直接获得flag

1.2 RAB题目

题目描述:反的压缩包,需要转换并解密

解题步骤

  1. 将压缩包反转(可能是字节顺序或文件名)
  2. 使用密码"拾叁叁拾陆叁叁拾贰陆拾肆"解压
  3. 对密文进行多层解码:
    • ROT13
    • 16进制解码
    • Base32解码
    • Base64解码
  4. 最终获得flag:flag{base_family_is_rot}

关键点

  • 识别压缩包需要反转
  • 中文数字密码转换为"133633264"
  • 多层编码的识别和顺序处理

2. RE题目解析

题目描述:64位程序,使用魔改Base64编码

解题步骤

  1. 分析给出的Python解码函数
  2. 理解自定义编码规则:
    • 使用52个字符的映射表(a-zA-Z)
    • 每两个字符解码为一个原始字符
    • 解码公式:index1 * 52 + index2
  3. 对提供的编码字符串应用解码函数:
    encoded_string = "bYcebTbZctbMcfcqcabMaZclbbbzaYbEcabAbqbEccbMbqbvaXbLaYbAccbzcfbDcqbBbJbLbbbMbJbrcrbMccbAcebzcfbMcdbBbtbLaYbLaZaWbjcv"
    
  4. 解码后获得flag:flag{93da44cd25ccc2d19f9ea2f3e2fd8f6c}

关键点

  • 识别自定义编码模式
  • 理解双字符解码为一个字符的机制
  • 正确实现解码算法

3. WEB题目解析

题目描述:上传木马并执行命令获取flag

解题步骤

  1. 上传webshell文件
  2. 通过webshell执行系统命令
  3. 读取flag文件

类似题目解析

<?php
include("flag.php");
highlight_file(__FILE__);
if(isset($_GET['num'])){
    $num = $_GET['num'];
    if($num==4476){
        die("no no no!");
    }
    if(preg_match("/[a-z]/i", $num)){
        die("no no no!");
    }
    if(intval($num,0)==4476){
        echo $flag;
    }else{
        echo intval($num,0);
    }
}

绕过方法

  1. 使用八进制表示法:?num=010574
  2. 八进制010574转换为十进制是4476
  3. 绕过三个检查:
    • 不等于4476(字符串比较)
    • 不包含字母
    • intval()转换后等于4476

关键点

  • 理解PHP类型转换和比较
  • 利用八进制表示法绕过检查
  • intval()函数的进制参数使用

4. CRYPTO题目解析

键盘密码题目

题目描述:给出键盘围绕中间字母的密码

密文

vcrtdg pok wzsq vbthfy {CERXSF 9i0plk _U76THG 9i0plk i7jh8y _IOMJL mjhb 9i0plk a2e3qs _5Y6FRG uybnjg wr34ds _IOMJL wr34ds u76thg vhng 9i0plk wzsq 5et4df cerxsf _OL0 wzsq wzexda wzexda a2e3qs 9i0plk 5et4df cerxsf }

解题步骤

  1. 识别键盘模式:每个字母对应其周围字母
  2. 将每个字母替换为键盘上中间的字母
  3. 处理后的flag不包含空格
  4. 最终flag:flag{Do_You_Know_The_Keyboard_Password}

关键点

  • 理解"键盘围绕中间字母"的含义
  • 需要熟悉QWERTY键盘布局
  • 注意flag格式要求(不含空格)

5. 教学总结

5.1 通用解题技巧

  1. 多观察题目描述:题目名称和描述常包含关键提示
  2. 尝试多种编码方式:Base家族、ROT、Hex等常见编码
  3. 注意数据格式:反转、倒序等变形处理
  4. 利用编程能力:编写脚本处理复杂解码过程

5.2 专项技能培养

  1. MISC方向

    • 培养图像处理和分析能力
    • 熟悉常见隐写工具和方法
  2. RE方向

    • 掌握自定义编码的分析方法
    • 提升Python脚本编写能力
  3. WEB方向

    • 理解PHP类型转换特性
    • 掌握各种绕过技巧
  4. CRYPTO方向

    • 熟悉各种密码模式
    • 了解键盘密码等特殊加密方式

5.3 推荐练习方法

  1. 对每道题目尝试多种解法
  2. 编写通用解码工具库
  3. 分析CTF题目中的常见套路
  4. 参与实战演练积累经验

通过系统学习这些题目和解题思路,可以有效提升网络安全竞赛的解题能力,特别是在CTF比赛中的表现。

六安市第二届网络安全大赛WP解析与教学文档 1. MISC题目解析 1.1 俄罗斯方块题目 题目描述 :提供了四张图片,需要拼接PPT并补全缺失的三个角 解题步骤 : 将四张图片按照俄罗斯方块形状拼接 观察发现缺少三个角 补全后得到flag格式:flag{qfnh_ wergh_ wqef} 关键点 : 需要识别图片的拼接方式 注意观察缺失部分的位置 补全后直接获得flag 1.2 RAB题目 题目描述 :反的压缩包,需要转换并解密 解题步骤 : 将压缩包反转(可能是字节顺序或文件名) 使用密码"拾叁叁拾陆叁叁拾贰陆拾肆"解压 对密文进行多层解码: ROT13 16进制解码 Base32解码 Base64解码 最终获得flag:flag{base_ family_ is_ rot} 关键点 : 识别压缩包需要反转 中文数字密码转换为"133633264" 多层编码的识别和顺序处理 2. RE题目解析 题目描述 :64位程序,使用魔改Base64编码 解题步骤 : 分析给出的Python解码函数 理解自定义编码规则: 使用52个字符的映射表(a-zA-Z) 每两个字符解码为一个原始字符 解码公式:index1 * 52 + index2 对提供的编码字符串应用解码函数: 解码后获得flag:flag{93da44cd25ccc2d19f9ea2f3e2fd8f6c} 关键点 : 识别自定义编码模式 理解双字符解码为一个字符的机制 正确实现解码算法 3. WEB题目解析 题目描述 :上传木马并执行命令获取flag 解题步骤 : 上传webshell文件 通过webshell执行系统命令 读取flag文件 类似题目解析 : 绕过方法 : 使用八进制表示法:?num=010574 八进制010574转换为十进制是4476 绕过三个检查: 不等于4476(字符串比较) 不包含字母 intval()转换后等于4476 关键点 : 理解PHP类型转换和比较 利用八进制表示法绕过检查 intval()函数的进制参数使用 4. CRYPTO题目解析 键盘密码题目 题目描述 :给出键盘围绕中间字母的密码 密文 : 解题步骤 : 识别键盘模式:每个字母对应其周围字母 将每个字母替换为键盘上中间的字母 处理后的flag不包含空格 最终flag:flag{Do_ You_ Know_ The_ Keyboard_ Password} 关键点 : 理解"键盘围绕中间字母"的含义 需要熟悉QWERTY键盘布局 注意flag格式要求(不含空格) 5. 教学总结 5.1 通用解题技巧 多观察题目描述 :题目名称和描述常包含关键提示 尝试多种编码方式 :Base家族、ROT、Hex等常见编码 注意数据格式 :反转、倒序等变形处理 利用编程能力 :编写脚本处理复杂解码过程 5.2 专项技能培养 MISC方向 : 培养图像处理和分析能力 熟悉常见隐写工具和方法 RE方向 : 掌握自定义编码的分析方法 提升Python脚本编写能力 WEB方向 : 理解PHP类型转换特性 掌握各种绕过技巧 CRYPTO方向 : 熟悉各种密码模式 了解键盘密码等特殊加密方式 5.3 推荐练习方法 对每道题目尝试多种解法 编写通用解码工具库 分析CTF题目中的常见套路 参与实战演练积累经验 通过系统学习这些题目和解题思路,可以有效提升网络安全竞赛的解题能力,特别是在CTF比赛中的表现。