PWN-ret2shellcode原理

news2024/11/28 4:35:26

我们之前做过很简单的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.coloradmin.cn/o/423380.html

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

相关文章

一起读源码 —— Fastjson 的核心方法及其实现原理

源码介绍 Fastjson 是阿里巴巴开源的一个 Java 工具库,它常常被用来完成 Java 的对象与 JSON 格式的字符串的相互转化。 此文读的源码是撰写此文时 Fastjson 的最新的发布版本,即 1.2.83 下载源码 请前去 github 找到 release 最新版下载后解压&…

智慧水务之排水系统物联网监测

1.1排水系统 1.1.1监测范围选择依据 (1)管网老化、设计标准低、合流制管网区域 管网建设年代久远,通常管网发生破损问题较大;管网设计标准较低,易引发淤堵或溢流;合流制管网受天气影响大,会对…

FFMPEG: [ API ] >打开/关闭一个输入文件

它们是成对出现的. ffmpeg 把输入文件--转换成--->AVFormatContext实例 ◆ avformat_open_input() int avformat_open_input(AVFormatContext ** ps,const char * url,ff_const59 AVInputFormat * fmt,AVDictionary ** options )Open an input stream and read the header.…

跨越语言的艺术:Weblogic序列化漏洞与IIOP协议

0x01 概述 Weblogic 的序列化漏洞主要依赖于 T3 和 IIOP 协议,这两种协议在通信交互的过程中存在如跨语言、网络传输等方面的诸多问题,会给漏洞的检测和利用带来许多不便。在白帽汇安全研究院的理念中,漏洞检测和利用是一项需要创造性的工作…

速锐得新能源电动汽车整车能耗热管理CAN总线模块开发方案

一、新能源时代背景 新能源汽车浪潮席卷而来,随着汽车向电动化和智能化方向发展,对汽车能量管理的要求也越来越高。而直冷直热热泵空调热管理系统是新能源汽车领域的新蓝海,随着热管理系统的崛起,在整车能耗热管理采集模块开发方…

计算机组成原理——第四章指令系统(下)

本是青灯不归客,却因浊酒恋红尘 文章目录前言4.3.1 高级语言与机器级代码之间的对应4.3.2 常用的X86汇编指令4.3.3 ATu0026T格式和Intel格式4.3.4 选择语句的机器级表示4.3.5 循环语句的机器级表示4.4 CiSC和RiSC前言 接下来这部分主要讲的就是高级语言与汇编语言的…

Thymeleaf select回显并选中多个

语法: selected"selected" 或 selectedtrue ${#strings.indexOf(name,frag)} 或者 ${#lists.contains(list, element)} 或者 ${#strings.contains(name,ez)} 或者 ${#strings.containsIgnoreCase(name,ez)} 都可以实现。 多选示例 : &…

linux 集群时间同步

前言 由于搭建hadoop集群需要进行集群时间同步,记录下具体操作过程。 这里我的集群环境为192.168.184.129(主)、192.168.184.130(从)、192.168.184.131(从),设置从机器从主机器同步…

Windows XP设置Outlook电子邮箱

一、问题描述 在Windows XP操作系统中进行Outlook电子邮箱的设置。 二、具体步骤 1、点击“开始”,找到“电子邮件(Outlook Express)并点击: 2、点击“设置邮件账户”。 3、输入自己的姓名,点击“下一步”。 4、…

Hive UDTF、窗口函数、自定义函数

目录 1 UDTF 1.1 概述 1.2 explode 1.3 posexplode 1.4 inline 1.5 Lateral View 2 窗口函数(开窗函数) 2.1 定义 2.2 语法 2.2.1 语法--函数 2.2.2 语法--窗口 2.2.3 常用窗口函数 3 自定义函数 3.1 基本知识 3.2 实现自定义函数 3.2.1 …

RestClient操作文档

RestClient操作文档5.RestClient操作文档5.1.新增文档5.1.1.索引库实体类5.1.2.语法说明5.1.3.完整代码5.2.查询文档5.2.1.语法说明5.2.2.完整代码5.3.删除文档5.4.修改文档5.4.1.语法说明5.4.2.完整代码5.5.批量导入文档5.5.1.语法说明5.5.2.完整代码5.6.小结5.RestClient操作…

JavaSE学习进阶day04_02 Calendar类

第三章 Calendar类 3.1 概述 java.util.Calendar类表示一个“日历类”,可以进行日期运算。它是一个抽象类,不能创建对象,我们可以使用它的子类:java.util.GregorianCalendar类。 有两种方式可以获取GregorianCalendar对象&#…

《Advanced R》学习笔记 | Chapter3 Vectors

专注系列化、高质量的R语言教程推文索引 | 联系小编 | 付费合集本篇推文是学堂君学习第3章“Vectors”的笔记,原文链接是https://adv-r.hadley.nz/vectors-chap.html,可在文末“阅读原文”处直达。通过本章的学习,我们可以更清晰地理解R语言中…

IDPChat:探索基于LLaMA和Stable Diffusion的「开源」中文多模态AI大模型

中文多模态模型 IDPChat 和大家见面了。 随着GPT4、文心一言等的发布,预训练大模型正式开启由单模态向多模态模型演进。多模态的特性为语言模型带来更加丰富的应用场景。 我们认为,未来的AI应用将主要以大模型为核心基石。 而在大模型的领域,…

PFTL101A 2.0KN 3BSE004172R1控制卷取物体时保持物体相互拉长或者绷紧的力

PFTL101A 2.0KN 3BSE004172R1控制卷取物体时保持物体相互拉长或者绷紧的力 ​ 基于单片机的放卷机张力控制系统设计 张力控制,通俗地讲,就是要控制卷取物体时保持物体相互拉长或者绷紧的力。张力应用于最广泛的造纸、纤维、塑料薄膜、电线、印刷品、磁带…

基于SpringBoot的健身房管理系统

有需要请私信或看评论链接哦 可远程调试 基于SpringBoot健身房管理系统一 介绍 此健身房管理系统基于SpringBoot开发,数据库mysql,前端startbootstrap。系统角色分为用户和管理员。用户登录后可查看个人信息,课程报名和课程查询,…

react-5 高阶组件 (HOC)(防抖节流) --- 高阶函数(HOF)(拖拽)

高阶函数:指一类函数,防抖,节流 防抖: 短时间内频繁触发同一事件时,只有最后一次生效. 例如电梯关门的效果 节流: 短时间内频繁触发同一个事件时,在单位时间内,只生效一次。例如lol英雄的大招…

【SpringBoot】面试组合技-天羽屠龙舞,SpringBootApplication注解的作用是什么?SpringBoot怎么实现自动装配的?

SpringBoot源码下载地址:https://github.com/spring-projects/spring-boot/tags 文章目录🍟下载源码🍗环境准备🍖注解解析🍝SpringBootConfiguration注解🍛EnableAutoConfiguration注解🍤AutoC…

Kettle7.0同步数据(简单操作步骤hive-hive)

一、Kettle说明介绍和原理说明 Kettle是一款免费的ETL工具。 ETL分别是“Extract”、“ Transform” 、“Load”三个单词的首字母缩写,也就是代表ETL过程的三个最主要步骤:“抽取”、“转换”、“装载”,但我们平时往往简称其为数据抽取。 ET…

opencv:了解Shi-Tomasi角点检测器及其使用

目标 在本章中,我们将学习另一种角点检测器:Shi-Tomasi角点检测器,并且探索函数cv.goodFeaturesToTrack()的使用方法。 理论 在上一章中,我们学习了Harris角点检测器。后来,在1994年,石屹和托马斯对其进行了一些小的修改,提出了《Good Features to Track》这篇论文,相…