moectf2020 write up for baby migration
前言
神奇的栈迁移,想了半天才明白Or2…
0x00.安全检查
首先是惯例的checksec
四舍五入保护全关
0x01.逆向分析
拖入IDA进行分析
我们可以看到存在栈溢出,可供溢出字节为66-0x30=18
个字节,也就是说基本上只够覆盖rbp(8字节)+返回地址(8字节),空间十分拥挤,同时程序里也没有能够直接利用的gadget
但是我们可以观察到在bss段
有极大的可读写空间
0x02.漏洞利用
故考虑栈迁移,将栈迁移到bss段再放上我们的shellcode
构造exp如下:
1 | from pwn import * |
运行脚本即得flag
1 | moectf{5tack_m1gr@ti0n_1s_e4sy!} |
moectf2020 write up for baby migration
http://meteorpursuer.github.io/2020/12/26/moectf2020 write up for stack migration/