PWN-ret2shellcode原理

news/2024/11/18 0:38:43/

我们之前做过很简单的pwn题目

buuctf-rip这种 是在程序中存在shellcode 直接返回地址改为这个shellcode的地址即可

但是如果程序里面没有呢

这种类型就是ret2shellcode

常见的shellcode

shellcode = "\x31\xf6\x48\xbb\x2f\x62\x69\x6e\x2f\x2f\x73\x68\x56\x53\x54\x5f\x6a\x3b\x58\x31\xd2\x0f\x05"

这个shellcode只有23字节 是可以在能输入字节有限的地方进行使用

如果输入的字节可以存储特别大的话 我们可以使用pwntools的函数生成

from pwn import *
context.arch='amd64'   #64位需要使用这个  32不用加
shellcode=asm(shellcraft.sh())

这是我理解的retshellcode的栈中的图

1.写入垃圾字符覆盖输入函数的变量和ebp

 2.写入shellcode的地址 把返回地址覆盖掉 实现返回到shellcode的地址中

 3.写入shellcode

 这篇只是最简单的自我认识原理

例题

CTFHUB-PWN-ret2shellcode_双层小牛堡的博客-CSDN博客


http://www.ppmy.cn/news/46159.html

相关文章

Servlet的生命周期

目录 一 . init() 方法 二 . destroy() 方法 三 . service () 方法 四 . 生命周期过程 Servlet(Server Applet)是Java Servlet的简称,称为小服务程序或服务连接器,用Java编写的服务器端程序,具有独立于平台和协议的…

Oracle11g全新讲解之PLSQL编程

一、PLSQL编程 是过程语言(Procedural Language)与结构化查询语言(SQL)结合而成的编程语言.通过增加变量、控制语句,使我们可以写一些逻辑更加复杂的数据库操作. 语法结构 declare--声明变量 变量名称 v_ 开头,规范 begin--执行具体的语句--异常处理 …

数据结构入门-11-红黑树

史上最负盛名的平衡二叉树–红黑树,但其实就是2-3树的一种实现 文章目录 一、红黑树性质二、红黑树性质推导过程2-3树2.3.1 如何维护绝对平衡2-3树2.3.2 红黑树&2-3树2.3.3 再来看红黑树的性质1.每个节点为 Black or Red2.根节点是Black3.每一个叶子节点(最后的…

程序员阿里三面无理由挂了,被HR一句话噎死,网友:这可是阿里啊

进入互联网大厂一般都是“过五关斩六将”,难度堪比西天取经,但当你真正面对这些大厂的面试时,有时候又会被其中的神操作弄的很是蒙圈。 近日,某位程序员发帖称,自己去阿里面试,三面都过了,却被…

15、异常处理

文章目录 1、错误处理1、默认规则2、定制错误处理逻辑3、异常处理自动配置原理4、异常处理步骤流程 【尚硅谷】SpringBoot2零基础入门教程-讲师:雷丰阳 笔记 路还在继续,梦还在期许 1、错误处理 1、默认规则 默认情况下,Spring Boot提供/er…

Python标记数组的连通域

文章目录 连通域标记structure参数操作连通域定位连通域 连通域标记 通过label函数,可以对数组中的连通区域进行标注,效果如下 from scipy.ndimage import label import numpy as np a np.array([[0,0,1,1,0,0],[0,0,0,1,0,0],[1,1,0,0,1,0],[0,0,0,1…

王道计组(23版)1_计算机系统概述

1.计算机发展历程 硬件的发展: 电子管、晶体管、中小规模集成电路、超大规模集成电路 摩尔定律: 价格不变时,每18个月,集成电路可容纳的晶体管数量和性能增加一倍 微型计算机的发展以微处理器技术为标志 计算机体系结构&#xf…

信息系统项目管理师-项目干系人管理

1.过程 1.1 识别干系人 定期识别项目干系人,分析和记录他们的利益、参与度、相互依赖性、影响力和对项目成功的潜在影响力的过程。 1.2 规划干系人参与 根据干系人的期望、需求、利益和对项目潜在的影响,制定项目干系人参与项目的方法的过程。 1.3 管理干…