2020 网鼎杯-青龙组 WriteUp🏛️ 组织架构 支持单位:国家网络与信息安全信息通报中心、深圳市人民政府、广东省公安厅 联合主办:深信服科技股份有限公司、北京永信至诚科技股份有限公司 联合协办:阿里巴巴、百度、腾讯、奇安信、清华大学网络科学与网络空间研究院、中国科学院信息工程研究所等 Misc虚幻 2(RGB 隐写 + 汉信码修补) 识别文件是一张 PNG 图片,用 PIL 查看颜色 12345from PIL import Image# 打开图片并转为 RGB 模式,确保统一处理img = Image.open("file").convert(&quo
2020 网鼎杯-白虎组 WriteUp🏛️ 主办方信息 支持单位:国家网络与信息安全信息通报中心 联合主办:深信服科技股份有限公司、北京永信至诚科技股份有限公司 赛事支持:深圳市人民政府、广东省公安厅 Mischidden(文件附加隐写 + ZIP 爆破 + PNG 宽高篡改)Foremost 提取隐藏文件 ZIP 文件需要爆破,密码是 1235 解压出来只有半张二维码,打开图片属性,修改图片高度为 133 扫描拿到二维码 hack(ZIP 明文攻击 + 重复异或 + 数据附加隐写 + Base32) 附件被加密了,打开压缩包可以看到有 sqlmap-1.4 文件 从
2019 SUCTF WriteUp🏛️ 赛事概况 比赛全称:SUCTF 2019 赛事性质:2019 年 XCTF 联赛的国内分站赛,也是一场独立的 CTF 比赛 举办时间:线上赛于 2019 年 8 月举行 主办方:SU 战队 赞助商:XCTF 联赛总体由国家创新与发展战略研究会主办,赛宁网安承办并提供技术支持 🏆 比赛前十名 第 1 名:De1ta (10688分) 第 2 名:Nu1L (10649分) 第 3 名:Venom (8929分) 第 4 名:天枢 Dubhe (8528分) 第 5 名:Kap0K (7810分) 第 6 名:kn0ck (6
2019 浙江省大学生网络与信息安全竞赛-决赛 WriteUp🏛️ 组织架构 指导单位:浙江省委网信办 主办单位:浙江省教育厅 承办单位:杭州电子科技大学 竞赛委员会:浙江省大学生网络与信息安全竞赛委员会 📊 赛事规模 参赛院校:全省 50 所高校 参赛队伍:共 269 支队伍报名(本科组 221 支,专科组 48 支) 决赛规模:100 支队伍(本科组 80 支,专科组 20 支) 决赛赛制:持续 8 小时的团体闯关解题模式 题目范围:涵盖 Web 安全、逆向分析、密码学、二进制漏洞挖掘等 Web逆转思维(PHP 伪协议 + 文件包含 + 反序列化 __toSt
GoGo 语言逆向工程,指的是针对 Go 语言编译出的二进制程序进行分析,以理解其内部逻辑、数据结构和工作原理的过程 逆向 Go 程序时,经常会遇到以下几个 “拦路虎”: 巨大的二进制体积:Go 默认采用静态编译,会将运行时(runtime)、垃圾回收(GC)和所有依赖库都打包进一个文件。这使得文件体积通常很大(动辄十几MB),在反汇编工具中打开时,可能会看到成千上万个函数 特殊的调用约定:Go 的函数调用约定与传统的 C/C++ 不同。例如,它支持多返回值,在 x86-64 架构上可能通过多个寄存器来传递返回值,这很容易让传统的反编译工具 “懵圈” 独特的数据结构:Go 语言
XTEA概述XTEA 由剑桥大学计算机实验室的戴维·惠勒(David Wheeler) 和罗杰·李约瑟(Roger Needham) 设计。算法于 1997 年在一份未发表的技术报告中首次提出,并且没有申请任何专利,属于公共领域 核心参数 参数 详情 算法类型 对称分组密码(Symmetric Block Cipher) 分组大小 64位(8字节) 密钥长度 128位(16字节) 推荐轮数 64轮(即32个周期) 结构 Feistel网络结构 工作原理XTEA的加密过程可以概括为以下步骤: 密钥初始化:将 128 位的密钥分成四个 32 位的子密钥 K[0] 到
XXTEA概述XXTEA 是由剑桥大学的 David Wheeler 和 Roger Needham 于 1998 年提出的一种轻量级、无专利约束的块密码算法。它是 TEA(微型加密算法)和 XTEA 的改进版,旨在修正前代算法的安全弱点 核心特点 轻量级与高效率:算法核心仅使用加法、异或和移位等基本运算,这使得其代码量非常小,执行速度快,尤其适合在资源受限的嵌入式系统或物联网设备中运行 对称加密:加密和解密使用相同的 128 位密钥 灵活的数据长度:与许多只能处理固定长度数据块的算法不同,XXTEA 可以加密任意长度的数据。其最小块大小为 64 位(两个字) 结构:采用非平衡 Feis
二叉树二叉树是计算机科学中最基础且重要的树形数据结构。简单来说,它是一个有序的树,其中每个节点最多只能有两个子节点,分别称为左子节点和右子节点(左右顺序不能颠倒) 基本术语:最顶层的节点叫根节点;没有子节点的节点叫叶子节点;每个节点到根节点有一条唯一的路径 核心特性:二叉树具有递归性——每个节点的左子树和右子树本身也是一棵二叉树。这就意味着处理二叉树的问题,天然适合用递归算法来解决 实战案例tree(二叉树) 反编译定位 main 函数,将我们输入的值 v4 传入了 chkflag() 中 进入函数,分析核心逻辑 函数开头固定了 flag 格式 1strcpy(Str, "
Ret2csu原理在 glibc 的源码中,有一个函数叫 __libc_csu_init,它在程序启动时负责调用 .init_array 中的初始化函数 这个函数末尾有一段普适性很强的指令,经常被用作 ROP gadget。安全研究者最早将利用这段代码的技术称为 Return-to-csu,简称 Ret2csu。 因为 __libc_csu_init 是 libc 标准启动代码的一部分,只要程序是动态链接的,几乎一定存在,而且在没有 PIE 的情况下地址固定。这给了攻击者在 “找不到常规 pop rdi” 时一个可靠的备胎 实战案例Pwn题滞销,帮帮我好吗_(Ret2csu) 代码只有两行
APKAPK(Android Package)是 Android 应用程序的安装包格式,本质上是一个 ZIP 压缩包,包含编译后的代码、资源、清单文件等 文件结构使用解压工具打开 APK,可看到标准目录结构 1234567891011APK/├── AndroidManifest.xml (二进制清单文件,需反编译)├── classes.dex (Dalvik 字节码,可能有多个)├── resources.arsc (编译后的资源索引)├── res/ (资