BUUCTF-bjdctf_2020_babystack 题解
题目
checksec

IDA

很显然,由于 nbytes 可以被赋予一个较大的值,使得 buf 可以被溢出。
backdoor

思路
利用的栈溢出漏洞覆盖函数返回地址,使之返回到这个后门函数提权即可。
附一个图示:

根据 buf 的位置 [rbp-10h] 可构造 payload = b'A' * (16 + 8) + backdoor_addr 实现攻击,由于需要栈对齐,其中,backdoor_addr = 0x4006ea ,而不是 backdoor_addr = 0x4006e6
exp
1 | from pwn import * |
All articles on this blog are licensed under CC BY-NC-SA 4.0 unless otherwise stated.