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

leak 记录今天的一个小题

先看题,

  1. add没有大小限制,
  2. 这里edit可以溢出8字节,也就是可以改后边的size,可以调用4次
  3. free没有调用函数只是把指针置0,
  4. show可以用一次.
void __fastcall __noreturn main(__int64 a1, char **a2, char **a3)
{init_0(a1, a2, a3);while ( 1 ){menu();switch ( read_n() ){case 1LL:m1add();break;case 2LL:m2edit();                               // 溢出8字节  4次break;case 3LL:m3show();                               // 1break;case 4LL:m4free();                               // 无freebreak;case 5LL:exit(0);default:puts("Unknown");break;}}
}

其实这个题没啥说的,在libc-2.27当把top_chunk改小后建大于top_chunk的块大会把新块建在top的后边,因为这个块还没用完.原块会放入largebin 

解题思路:

  1. 先建个块0,利用溢出修改top_chunk 原来是20d91改为d91(尾部需要对齐,所以最好保持原样)
  2. 建个1000的块1,由于这个块比d91大会在现有top后新开辟空间(相邻)原块进入largebin(有指向main_arena+xxx的指针和堆指针)
  3. 建小块2这块会占用原largebin里的空间(旧top_chunk)这时show得到libc地址,如果改0x10字节再show还可以得到堆地址,不过这题只能show一次得到不到
  4. 改1利用溢出8字节修改新top_chunk长度为0xfffffffffffffff 64位全1
  5. 建大块 -22020 #3 当前块地址就是22010,这样建就会把块一直建到堆空间的头,下一块与tcache重合
  6. 建与tcache重合的块4(不通太小,原来的top_chunk后边还有个挺大的largebin没用呢)
  7. 编辑块4,写入一个0x20块的tcache项,再建块就会建到这,所这这里指到哪就能建到哪.这里指malloc_hook-8=realloc_hook 因为没有free,所以要在malloc_hook写one,one又有条件限制可能需要用realloc调栈(对应2.27版本 偏移有0,2,4,6,8,9,10)
  8. 建块,写入one

看似板子题,但是这有个问题,赛方给了一个很难见到的libc版本 libc-2.27-3ubuntu1.4-amd64

后来看了打通人的EXP, 他用的 3u1.5 

对于泄露main_arena的题来说,main_arena在大版本相同的情况下是完全相同的.根本不可能确定小版本,但是对于需要用one的题又必需确定小版本,现在出题都这么卷吗.

相关文章:

leak 记录今天的一个小题

先看题, add没有大小限制,这里edit可以溢出8字节,也就是可以改后边的size,可以调用4次free没有调用函数只是把指针置0,show可以用一次. void __fastcall __noreturn main(__int64 a1, char **a2, char **a3) {init_0(a1, a2, a3);while ( 1 ){menu();switch ( read_n() ){cas…...

软考A计划-试题模拟含答案解析-卷二

点击跳转专栏>Unity3D特效百例点击跳转专栏>案例项目实战源码点击跳转专栏>游戏脚本-辅助自动化点击跳转专栏>Android控件全解手册点击跳转专栏>Scratch编程案例 👉关于作者 专注于Android/Unity和各种游戏开发技巧,以及各种资源分享&am…...

【C++】pthread

一、pthread简介 pthread是C98接口且只支持Linux&#xff0c;使用时需要包含头文件#include <pthread.h>&#xff0c;编译时需要链接pthread库&#xff0c;其中p是POSIX的缩写&#xff0c;而POSIX是Portable Operating System Interface的缩写&#xff0c;是IEEE为要在各…...

2023年前端面试题汇总-浏览器原理

1. 浏览器安全 1.1. 什么是 XSS 攻击&#xff1f; 1.1. 1. 概念 XSS 攻击指的是跨站脚本攻击&#xff0c;是一种代码注入攻击。攻击者通过在网站注入恶意脚本&#xff0c;使之在用户的浏览器上运行&#xff0c;从而盗取用户的信息如 cookie 等。 XSS 的本质是因为网站没有对…...

react介绍,react语法,react高级特性,react编程技巧

React是一个用于构建用户界面的JavaScript库。它由Facebook开发&#xff0c;于2013年首次发布。React的主要目标是提高应用程序的性能和可维护性。React采用了一种称为“组件”的模式&#xff0c;使开发人员可以将应用程序拆分为小而独立的部分&#xff0c;从而更容易编写和维护…...

Locust接口性能测试

谈到性能测试工具&#xff0c;我们首先想到的是LoadRunner或JMeter。LoadRunner是非常有名的商业性能测试工具&#xff0c;功能非常强大。但现在一般不推荐使用该工具来进行性能测试&#xff0c;主要是使用也较为复杂&#xff0c;而且该工具体积比较大&#xff0c;需要付费且价…...

Python类的特殊方法(通过故事来学习)

在一座森林里&#xff0c;住着三只动物&#xff1a;狼、兔和熊。这三只动物都有不同的特点和能力&#xff0c;但是它们所有的行为都可以被抽象成一个“动物”类。现在&#xff0c;让我们来看看Python中的类和特殊方法如何帮助我们实现这个故事。 首先&#xff0c;我们可以定义…...

Vue.js 中的父子组件通信方式

Vue.js 中的父子组件通信方式 在 Vue.js 中&#xff0c;组件是构建应用程序的基本单元。当我们在应用程序中使用组件时&#xff0c;组件之间的通信是非常重要的。在 Vue.js 中&#xff0c;父子组件通信是最常见的组件通信方式之一。在本文中&#xff0c;我们将讨论 Vue.js 中的…...

Python之并发编程二多进程理论

一、什么是进程 进程&#xff1a;正在进行的一个过程或者说一个任务。而负责执行任务则是cpu。 二、进程与程序的区别 程序仅仅只是一堆代码而已&#xff0c;而进程指的是程序的运行过程。 三、并发与并行 无论是并行还是并发&#xff0c;在用户看来都是’同时’运行的&am…...

纯干货:数据库连接耗时慢原因排查

背景 最近公司的社区相关的服务需要优化&#xff0c;由于对业务不熟悉&#xff0c;只能借助监控从一些慢接口开始尝试探索慢的原因。由于社区相关的功能务是公司小程序流量入口&#xff0c;所以相应的服务访问量还是比较高的。针对这类高访问的项目&#xff0c;任何不留神的地…...

【OneNet】| stm32+esp8266-01s—— OneNet初体验 | 平台注册及设备创建 | demo使用

系列文章目录 失败了也挺可爱&#xff0c;成功了就超帅。 文章目录 前言1. OneNet平台注册2. 创建多协议接入设备3. 硬件连接4. 下载并运行Demo4.1 Demo下载4.2 运行Demo本小节结束 前言 最近准备耍下 Onenet平台 。下载了官方demo 遇到几个问题 1、创建接入设备 因为平台网页…...

解决win无法删除多层嵌套文件夹

起因&#xff1a;昨天研究jpackage工具&#xff0c;不小心搞得一个文件夹里嵌套了好几百个文件夹&#xff0c;用win自己的删除删不掉&#xff0c;shiftdel直接删除也不行&#xff0c;直接弹窗删除错误&#xff1b; 后来用电脑管家下载了个“文件粉碎”&#xff0c;添加目录&am…...

用Vue简单开发一个学习界面

文章目录 一.首先创建我们的Vue文件夹二.源代码BodyDemoHearderDemoHomeDemoMarkdownDemoFileManager.jsMain.js&#xff08;注意绑定&#xff09;APP源代码 效果图&#xff08;按钮功能&#xff09;新增二级菜单&#xff08;v-for&#xff09;需要的可以私信 一.首先创建我们的…...

Oracle数据库从入门到精通系列之五:数据文件

Oracle数据库从入门到精通系列之五:数据文件 一、数据文件二、Oracle数据库存储分配单位三、Oracle数据库文件系统机制四、段五、区段六、块七、表空间八、Oracle数据库存储层次体系小结一、数据文件 数据文件和重做文件是数据库中最重要的文件,数据最终会存储在这些文件中。…...

使用MockJS进行前端开发中的数据模拟

在前端开发中&#xff0c;有时我们需要在没有后端接口的情况下进行前端页面的开发和测试。这时&#xff0c;我们可以使用MockJS来模拟数据&#xff0c;以便进行开发和调试。MockJS是一个用于生成随机数据和拦截Ajax请求的JavaScript库&#xff0c;它能够帮助我们快速搭建起一个…...

Ex-ChatGPT本地部署+Azure OpenAI接口配置+docker部署服务

Ex-ChatGPT项目分为 Ex-ChatGPT 和 WebChatGPTEnhance 两部分&#xff0c;Ex-ChatGPT启动后是个web服务&#xff0c;通过访问ip端口体验&#xff1b; WebChatGPTEnhance可编译生成一个浏览器插件&#xff0c;Chrome或者Microsoft edge浏览器可以安装该插件&#xff0c;点击该插…...

【收藏】FP独立站建站安心收款经验分享

前几天有个客户咨询我&#xff0c;跟我说了他的疑问。他是在阿里巴巴国际站上面做鞋服&#xff0c;但看到同行在独立站上铺fp&#xff0c;所以他想问问&#xff1a;怎么建立一个独立站并在上面成功推出fp呢&#xff1f;今天&#xff0c;我就来跟有类似诉求的朋友们分享一下&…...

python:绘制GAM非线性回归散点图和拟合曲线

作者&#xff1a;CSDN _养乐多_ 本文将介绍使用python语言绘制广义线性模型&#xff08;Generalized Additive Model&#xff0c;GAM&#xff09;非线性回归散点图和拟合曲线。并记录了计算RMSE、ubRMSE、R2、Bias的代码。 文章目录 一、GAM非线性回归详解二、代码三、计算RM…...

每日算法(第十四期)

儿童节了也要好好学习鸭。 先来回顾一下上期的问题及答案&#xff1a; 「反转链表」&#xff08;Reverse Linked List&#xff09;。 题目描述&#xff1a; 反转一个单链表。 以下是对应的JavaScript实现&#xff1a; function reverseList(head) {let prev null;let curr he…...

uboot的使用

目录 串口调试 1.uboot模式 自启动模式&#xff1a; 交互模式 2.uboot帮助命令 3.uboot环境变量 4.uboot常用环境变量 5.uboot网络传输命令 6.uboot存储器访问命令 7.uboot自启动环境变量 串口调试 1.串口连接开发板&#xff0c;通过 "设备管理器" 获取对…...

SDXL-Turbo实战教程:从A futuristic car到motorcycle的删改逻辑教学

SDXL-Turbo实战教程&#xff1a;从A futuristic car到motorcycle的删改逻辑教学 获取更多AI镜像 想探索更多AI镜像和应用场景&#xff1f;访问 CSDN星图镜像广场&#xff0c;提供丰富的预置镜像&#xff0c;覆盖大模型推理、图像生成、视频生成、模型微调等多个领域&#xff0c…...

Landsat8温度反演结果不准?可能是这5个参数没搞对(ENVI实战经验分享)

Landsat8温度反演精度提升&#xff1a;5个关键参数优化与ENVI实战解析 当你在深夜盯着屏幕上那些明显偏离预期的温度反演结果时&#xff0c;是否曾怀疑过ENVI软件出了问题&#xff1f;事实上&#xff0c;90%的温度反演误差都源于几个关键参数的设置不当。作为一位经历过数十个遥…...

探索音乐资源获取:如何通过开源工具畅享高品质音乐体验

探索音乐资源获取&#xff1a;如何通过开源工具畅享高品质音乐体验 【免费下载链接】lxmusic- lxmusic(洛雪音乐)全网最新最全音源 项目地址: https://gitcode.com/gh_mirrors/lx/lxmusic- 在数字音乐时代&#xff0c;寻找稳定、免费且高质量的音乐资源成为许多音乐爱好…...

从零上手平头哥剑池CDK:手把手教你搭建第一个RISC-V调试工程(附断点设置技巧)

从零上手平头哥剑池CDK&#xff1a;手把手教你搭建第一个RISC-V调试工程&#xff08;附断点设置技巧&#xff09; 第一次接触RISC-V架构和平头哥的开发环境&#xff0c;难免会有些无从下手。作为一个过来人&#xff0c;我清楚地记得当初为了跑通第一个调试工程&#xff0c;花了…...

告别重复劳动:用快马ai生成高效openclaw脚本提升安卓测试效率

告别重复劳动&#xff1a;用快马AI生成高效OpenClaw脚本提升安卓测试效率 在安卓自动化测试中&#xff0c;编写重复性的设备操作脚本往往是最耗时耗力的环节。每次测试新版本&#xff0c;我们都需要重复编写类似的点击、滑动、输入等操作代码&#xff0c;不仅效率低下&#xf…...

OPC UA over HTTPS解析卡顿,Modbus TCP粘包丢帧,Java工业协议解析故障全图谱,一线工程师紧急避坑手册

第一章&#xff1a;Java工业协议解析故障全景概览 在现代工业物联网&#xff08;IIoT&#xff09;系统中&#xff0c;Java 应用常作为上位机、网关或边缘服务承担 Modbus TCP、OPC UA、S7Comm、DNP3 等协议的解析与桥接任务。然而&#xff0c;由于协议语义复杂、设备厂商实现差…...

深入解析AUTOSAR通信模块:从信号抽象到多路CAN配置

1. AUTOSAR通信模块的核心价值 第一次接触AUTOSAR通信模块时&#xff0c;我被它复杂的层级关系绕得头晕。直到在实车上调试快充CAN信号时&#xff0c;才真正理解这种架构设计的精妙之处。简单来说&#xff0c;AUTOSAR的Com模块就像个智能邮局&#xff0c;负责把应用层产生的各种…...

Ubuntu系统资源监控实战:从命令行到图形化工具全解析

1. 为什么需要监控Ubuntu系统资源&#xff1f; 刚装好的Ubuntu系统跑得飞快&#xff0c;用着用着突然发现电脑变卡了&#xff1f;浏览器开多几个标签页就开始转圈&#xff1f;这种情况我遇到过太多次了。后来才发现&#xff0c;很多时候是因为某个程序偷偷吃掉了大量CPU或内存资…...

探秘书匠策AI:毕业论文创作的“全能助手”大揭秘

在学术探索的征途中&#xff0c;毕业论文如同一座巍峨的山峰&#xff0c;让无数学生既心怀憧憬又倍感压力。从选题迷茫到文献海捞&#xff0c;从结构搭建到内容雕琢&#xff0c;每一步都充满了挑战。但别怕&#xff0c;今天我们就来揭秘一位学术界的“全能助手”——书匠策AI&a…...

告别图库!用LiuJuan Z-Image为文章博客自动生成配图(保姆级教程)

告别图库&#xff01;用LiuJuan Z-Image为文章博客自动生成配图&#xff08;保姆级教程&#xff09; 1. 为什么你需要这个工具&#xff1f; 作为一名内容创作者&#xff0c;我深知找配图的痛苦。记得上周为了给一篇技术文章配图&#xff0c;我花了整整40分钟在图库里翻找&…...