基本ROP
ret2text
[NewStarCTF 2023 公开赛道]ret2text
(64)

execve本身并不是一个后门函数。
实际上,execve是一个标准的系统调用函数,用于在 Linux和类 Unix 系统中执行一个新的程序。
它的原型如下:
该函数接受三个参数:
1. filename:要执行的程序的文件名或路径。
2. argv:一个以 NULL 结尾的字符串数组,表示传递给新程序的命令行参数。
3. envp:一个以 NULL 结尾的字符串数组,表示新程序的环境变量。当调用execve函数时,它会将当前进程替换为新程序的代码,并开始执行新程序。
新程序接收argv和envp作为命令行参数和环境变量。
ret2shellcode

未开启NX保护,可以shellcode


v4_addr = int(r.recvline()[33:-1],16):
使用切片操作 [33:-1] 从接收到的数据中提取出地址部分。这个切片操作假设地址信息从第34个字符开始(因为Python的索引是从0开始的),并且忽略最后一个字符(通常是换行符 \n )。
将提取出的地址字符串转换为整数。 int() 函数用于将字符串转换为整数,这里的基数是16,因为地址通常是以十六进制形式表示的。
shellcode.ljust(0x60+8, b'a') :
• shellcode :这是一段用于执行攻击者希望在目标机器上执行的代码的二进制序列,通常是一个shellcode,它能够创建一个反向shell或者执行其他恶意操作。
• ljust(width, fillchar) :这是一个字符串方法,用于将原字符串左对齐,并使用 fillchar (在这里是 b'a' ,即ASCII码中的'a'字符)填充至指定的 width 宽度。如果原字符串超过这个宽度,则不会截断。
需要指定架构,因为pwn中默认生成的shellcode是32位的,所以不进行指定的话是打不通的,当遇到64位程序的时候一定要进行指定
ret2libc
ctfshow pwn48
(puts)(32)

[NewStarCTF 2023 公开赛道]ret2libc
(puts)(64)

ret栈对齐
ctfshow pwn45
(write)(32)

ctfshow pwn46
(write)(64)

write函数原型
ssize_t write(int fildes, const void *buf, size_t nbyte);
参数:
• fildes :文件描述符,这是一个非负整数,用于标识一个打开的文件或者其他类型的文件描述符。
• buf :指向要写入数据的缓冲区的指针。
• nbyte :要写入的字节数。
返回值:
• 成功时,返回写入的字节数。
• 如果发生错误,返回 -1 ,并设置 errno 以指示错误类型。
write 函数会尝试将 nbyte 字节的数据从 buf 指向的缓冲区写入到 fildes 指定的文件描述符。如果写入成功,它返回实际写入的字节数。如果返回的值小于 nbyte ,则可能意味着写入操作没有完成,或者遇到了文件末尾(EOF)。
puts函数原型
int puts(const char *str);
•参数:
• str :指向一个以 null 结尾的字符串的指针,该字符串将被输出到标准输出。
• 返回值:• 成功时返回一个非负整数。• 如果发生错误,则返回 EOF (通常是 -1)。
puts 函数会输出传入的字符串,并在字符串的末尾添加一个换行符。如果字符串本身以换行符结尾, puts 会再添加一个换行符,因此输出可能会包含两个连续的换行符。
基本ROP的更多相关文章
- 一步一步学ROP之linux_x64篇
一步一步学ROP之linux_x64篇 一.序 **ROP的全称为Return-oriented programming(返回导向编程),这是一种高级的内存攻击技术可以用来绕过现代操作系统的各种通用防 ...
- 一步一步学ROP之linux_x86篇
一步一步学ROP之linux_x86篇 作者:蒸米@阿里聚安全 一.序 ROP的全称为Return-oriented programming(返回导向编程),这是一种高级的内存攻击技术可以用来绕过 ...
- Windows XP PRO SP3 - Full ROP calc shellcode
/* Shellcode: Windows XP PRO SP3 - Full ROP calc shellcode Author: b33f (http://www.fuzzysec ...
- Rop 文件上传解决思路
由于服务请求报文是一个文本,无法直接传送二进制的文件内容,因此必须采用某种转换机制将二进制的文件内容转换为字符串.Rop 采用如下的方式对上传文件进行编码:<fileType>@<B ...
- rop框架签名功能控制
平台级控制: 通过<rop:annotation-driven/>的 sign-enable 属性即可开启或关闭服务平台签名验证功能:<rop:annotation-driven s ...
- rop框架中@ServiceMethod注解属性
@ServiceMethod 属性 method :代码服务方法名version :表 示 版 本 号 group:服务分组名.服务的分组没有特殊的意义,您可以为服务定义一个分组,以便在事件监听器.服 ...
- Linux内核ROP学习
0x00 前言 1.SMEP(Supervisor Mode Execution Protection):一种减缓内核利用的cpu策略,禁止内核态到用户态内存页的代码执行(32位的addresses ...
- 栈溢出之rop到syscall
当程序开启了nx,但程序有syscall调用的时候.这时栈溢出的利用就可以通过rop来执行syscall的59号调用execve('/bin/sh',null,null),这是这次alictf一道pw ...
- 20145236《网络对抗》进阶实验——64位Ubuntu 17.10.1 ROP攻击
20145236<网络对抗>进阶实验--64位Ubuntu 17.10.1 ROP攻击 基础知识 ROP攻击 ROP全称为Retrun-oriented Programmming(面向返回 ...
- 蒸米一步一步ROP X64学习笔记
原文地址https://segmentfault.com/a/1190000007406442,源代码地址https://github.com/zhengmin1989/ROP_STEP_BY_STE ...
随机推荐
- axis2添加拦截器
项目背景: 2002年的某保险老项目,项目是部署了多个服务器,每个服务器有2到多个服务(每个服务的日志对应一个日志文件),外部对接是通过F5分发到随机服务器上来进行访问,正式出现问题或者看一些问题就需 ...
- VMware安装CentOS7及远程登录详细教程
写在前面 主要使用软件: VMware Workstation Pro17 Navicat Premium17 Xshell7 Xftp7 1.在虚拟机安装CentOS7 访问阿里云镜像站 ,选择标记 ...
- DOM & BOM – 冷知识 (新手)
JS 无法 query select 到伪元素 参考: 使用JS控制伪元素的几种方法 JS style remove property 是 kebab-case set property 是 came ...
- 三牧校队训练题目 Solution
前置知识: 搜索 队列 栈 递归 (提高难度)记忆化搜索 T1:P1226 [模板]快速幂 暴力想法:\(a\times a\) 进行 \(b\) 次,每次 \(a\times a\mod p\). ...
- web架构-nginx负载均衡
nginx的负载均衡 Nginx 是一个广泛使用的反向代理服务器,能够高效地实现负载均衡.负载均衡的核心作用是将来自客户端的请求分发到多个后端服务器上,从而平衡每台服务器的压力.通过Nginx,我们可 ...
- 基于SqlAlchemy+Pydantic+FastApi的Python开发框架的路由处理
在前面随笔<基于SqlAlchemy+Pydantic+FastApi的Python开发框架>中介绍了框架总体的内容,其中主要的理念就是通过抽象接口的方式,实现代码的重用,提高开发效率.本 ...
- Hive----基本概念
Hive 基本概念 1. Hive:由 Facebook 开源用于解决海量结构化日志的数据统计. 2. Hive 是基于 Hadoop 的一个数据仓库工具,可以将结构化的数据文件映射为一张表,并提供类 ...
- /proc/pids/io
rchar:代表自进程启动以来所读取的总字符数,包括通过缓存或直接读取的字符.单位是字节(bytes). wchar:代表自进程启动以来所写入的总字符数,包括通过缓存或直接写入的字符.单位是字节(by ...
- ide 安装eval reset插件 Pycharm 永久破解
ide 安装eval reset插件 Pycharm 永久破解 1.安装eval reset的目的 Jetbrains家的产品有一个很良心的地方,他会允许你试用30天(这个数字写死在代码里了)以评估是 ...
- 使用 Fluent Bit 实现云边统一可观测性
本文基于 KubeSphere 可观测性与边缘计算负责人霍秉杰在北美 KubeCon 的 Co-located event Open Observability Day 闪电演讲的内容进行整理. 整理 ...