文章总结: 该文档系统介绍CTF国赛PWN题型中栈溢出漏洞的基础知识,重点阐述栈溢出原理是通过超长输入覆盖函数返回地址控制程序执行流。文档提供国赛标准解题步骤:使用IDA定位危险函数、GDB计算偏移量、pwntools编写EXP脚本,并给出通用攻击模板和偏移量计算方法。针对常见题型如ret2text、ret2system提供具体解决方案,同时强调32/64位区别和偏移量精度等考场避坑要点,帮助零基础选手快速掌握国赛保分技巧。 综合评分: 85 文章分类: CTF,二进制安全,漏洞分析,实战经验,安全工具
CTF 国赛技术点系列(第 6 期)——PWN 栈溢出基础入门(国赛拿分必学)
原创
点击关注👉 点击关注👉
网络安全学习室
2026年5月7日 10:29 湖南
在小说阅读器读本章
去阅读
一、技术点定位
PWN 是 CTF 国赛分值高、拉分极强的核心板块,而栈溢出是整个 PWN 的入门基石,也是国赛每年必考基础题型。
不管后面的堆溢出、格式化字符串有多难,栈溢出永远是新手第一个必拿的保底分。 国赛基础栈溢出题型固定、套路固定、exp 模板固定,只要学会套路,遇见就能直接秒做。
核心目标:搞懂栈溢出原理、学会偏移量计算、掌握通用 exp 模板,国赛基础栈溢出题直接套脚本就能拿到 shell、读取 flag。
二、栈溢出核心原理(通俗易懂版)
程序运行时会开辟一块栈空间,用来存放局部变量、函数返回地址。 正常流程: 输入数据 → 存在局部变量缓冲区 → 程序正常执行。
漏洞原理: 程序没有限制输入长度,输入数据过长,覆盖掉缓冲区后面的函数返回地址。 从而劫持程序执行流,让程序跳转到我们指定的恶意函数地址,拿到交互式 Shell,读取 flag。
一句话总结:超长输入覆盖返回地址,控制程序走向。
三、国赛栈溢出前置必备知识点
1. 关键术语
- 缓冲区:程序预留的接收输入的空间
- 偏移量:从缓冲区开头到返回地址的距离
- 返回地址:函数执行完跳转回去的地址
- shellcode:拿到系统 shell 的机器指令
- exp:利用漏洞的 Python 攻击脚本
2. 国赛常用工具
- IDA Pro:看程序逻辑、找溢出点、查函数地址
- GDB+pwndbg:动态调试、计算偏移量
- pwntools:编写 exp、交互靶机、发送 payload
四、国赛栈溢出标准解题步骤(考场直接照搬)
- 用 IDA 打开程序,定位危险函数
gets/scanf/read无长度限制输入点 - GDB 调试,精确计算溢出偏移量
- 找到后门函数 /system/bin/sh 地址
- 用 pwntools 编写 payload 脚本
- 运行脚本连接靶机,拿到 shell,读取 flag
五、偏移量两种常用计算方法
方法一:pattern 生成法(国赛最常用)
# 生成随机字符串
cyclic 100
把生成字符串输入程序,程序崩溃断错,看报错地址
# 计算偏移
cyclic 崩溃地址
直接得出精准偏移量,一步到位。
方法二:手动试错法
不断加长输入字符,观察程序是否崩溃,慢慢测出临界溢出长度。
六、国赛通用栈溢出 Exp 模板(公众号纯净版无乱码)
from pwn import *
# 远程连接靶机
p = remote("ip地址", 端口)
# 偏移量
offset = 40
# 目标函数地址
addr = 0x08049126
# 构造payload
payload = b'A' * offset + p32(addr)
# 发送攻击载荷
p.sendline(payload)
# 交互式shell
p.interactive()
直接替换IP、端口、偏移量、函数地址即可使用,国赛 90% 基础栈溢出都能套。
七、国赛栈溢出常见题型
1. 简单 ret2text
程序自带后门函数,溢出直接跳后门,最简单送分题。
2. ret2system
程序有 system 函数,溢出跳转到 system,传入 /bin/sh 拿 shell。
3. 带格式限制栈溢出
限制输入字符、限制长度,只需微调 payload 结构,套路不变。
八、考场避坑技巧
- 32 位、64 位程序一定要分清,
p32和p64不要混用 - 本地调试能跑,远程注意靶机 libc 版本对齐
- 偏移量一定要精准,多 1 少 1 都会崩溃拿不到 shell
- 先做基础栈溢出保底,再攻坚堆溢出、格式化字符串
九、文末福利
如果你也是零基础、想参加竞赛网安但不知道从哪开始,可以点击文末阅读原文领取200节攻防教程,帮你少走弯路。后续我会持续更新网安实战、就业、副业相关干货,关注我,带你从零基础一步步靠网安变现。
十、下期预告
下一期更新第 7 期:格式化字符串漏洞入门国赛 PWN 高频考点,泄露内存、篡改变量、劫持 got 表,手把手教你套路拿 flag
CTF国赛 #国赛技术点 #PWN栈溢出 #CTF备赛 #网络安全竞赛 #pwntools
免责声明:
本文所载程序、技术方法仅面向合法合规的安全研究与教学场景,旨在提升网络安全防护能力,具有明确的技术研究属性。
任何单位或个人未经授权,将本文内容用于攻击、破坏等非法用途的,由此引发的全部法律责任、民事赔偿及连带责任,均由行为人独立承担,本站不承担任何连带责任。
本站内容均为技术交流与知识分享目的发布,若存在版权侵权或其他异议,请通过邮件联系处理,具体联系方式可点击页面上方的联系我。
本文转载自:网络安全学习室 点击关注👉 点击关注👉《CTF 国赛技术点系列(第 6 期)——PWN 栈溢出基础入门(国赛拿分必学)》
版权声明
本站仅做备份收录,仅供研究与教学参考之用。
读者将信息用于其他用途的,全部法律及连带责任由读者自行承担,本站不承担任何责任。











评论