桂林做手机网站建设/yandex搜索入口

桂林做手机网站建设,yandex搜索入口,住建部注册中心官网,东营有做网站的公司栈知识、部分保护措施 GDB显示的栈地址有时候并不是可靠的地址,gdb也是用特殊的进程映像来拿地址的。且gdb默认关闭栈地址随机化。但是,偏移量是没有错误的。目前还没学到咋解决 第一个栈帧是main函数栈帧,之前的一些系统函数什么的没有栈帧…

栈知识、部分保护措施

GDB显示的栈地址有时候并不是可靠的地址,gdb也是用特殊的进程映像来拿地址的。且gdb默认关闭栈地址随机化。但是,偏移量是没有错误的。目前还没学到咋解决

第一个栈帧是main函数栈帧,之前的一些系统函数什么的没有栈帧。

执行了leave之后的情况:会pop ebp,所以esp+1,然后ebp恢复原来样子了。然后会执行retn,那就是将返回地址相当于pop给eip寄存器。

canary(金丝雀)保护措施,在 ebp下面会有一个值,创建栈帧的时候就有了。如果销毁栈帧时检测到这个值被修改了,那么他就会崩溃退出。可以在gcc编译的时候打开

2个16进制数字代表1个字节

64位一个ebp是8字节,32位是4

ret2shellcode题目讲解

1.动调拿到溢出字节数

需要注意,如果栈存放的是指针,这工具会把指针的数据打印出来。所以esp实际上存的是指针,不是我们想要溢出的字符串。

2.写exp 

payload一定要有shellcode(arm后的),但是返回地址需要考虑一下,最好不在栈上做执行,因为有太多保护措施。观察软件main函数会对一个全局变量赋值,那就在bss段进行执行吧。

ljust(填充前方字节流长度到几,填充数据),这是个函数,可以这样写:

arm(shellcraft.sh()).ljust(目标长度,b'A')。

有时候需要recv完毕再send不然会IO错误。

返回导向编程

ret2syscall

本质上是操作空间内核里面的代码。

在举例中,my_puts是用户函数,其中调用了函数write。eax是传入系统调用号。在动态链接库的作用下,write对应的汇编代码进行实现功能,调用更加底层的系统函数/接口之类。

ldd命令可以查看一个可执行程序的所有动态链接库,如ldd a.out

需要关注libc.so.6,记录着c语言标准动态链接库的软连接。(记录软连接在更新动态链接库的时候更加便捷)就在lib文件夹里面 。有时候会出现本地打不通,远程打通,或者反过来,可能原因之一就是动态链接库版本不同了,这种的排错还是比较困难的。

动态链接库也是elf文件,有位置无关代码编写技术 ,这个技术被PIE借鉴了。

动态链接库会载入在shared那个区域。ret2libc的目的就是把程序从text跳转到shared libraries。

execve就是上面libc.so包装在system里面的一个系统调用。 

int 0x80就是一个中断号,代表系统调用。再读取eax里面存的调用号。

但是程序没有这样连续的片段,其实将间断的片段(gadget)组合起来也可以达到这样的效果,就是ROP。

执行过程 

详见视频P3的2:27:10左右。需要注意ret的效果和EIP的作用,以及pop了esp会移动的。

利用ret控制eip,用pop eax可以直接把想要的值覆盖在栈上。

做题

2:47:28左右

运气好部分寄存器值已经是对的,可以不用pop什么了

用drawio工具,看栈的变化,进一步理解ROP过程以编写payload

只是了解:popad 按 ediesiebpesp(原栈指针,不过该值不存回 esp )、ebxedxecxeax 顺序弹出。

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

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

相关文章

OpenCV计算摄影学(2)图像去噪函数denoise_TVL1()

操作系统:ubuntu22.04 OpenCV版本:OpenCV4.9 IDE:Visual Studio Code 编程语言:C11 算法描述 原始-对偶算法是用于解决特定类型变分问题(即,寻找一个函数以最小化某个泛函)的算法。特别地,图像…

九、数据治理架构流程

一、总体结构 《数据治理架构流程图》(Data Governance Architecture Flowchart) 水平结构:流程图采用水平组织,显示从数据源到数据应用的进程。 垂直结构:每个水平部分进一步划分为垂直列,代表数据治理的…

Docker 搭建 Gitlab 服务器 (完整详细版)

参考 Docker 搭建 Gitlab 服务器 (完整详细版)_docker gitlab-CSDN博客 Docker 安装 (完整详细版)_docker安装-CSDN博客 Docker 日常命令大全(完整详细版)_docker命令-CSDN博客 1、Gitlab镜像 # 查找Gitlab镜像 docker search gitlab # 拉取Gitlab镜像 docker pull gitlab/g…

Spring MVC 框架学习笔记:从入门到精通的实战指南

目录 1. Spring MVC 概述 2. Spring MVC 项目搭建 3. Spring MVC 执行流程 4. Spring MVC RequestMapping 注解 5. Spring MVC 获取请求参数 6. Spring MVC 常见注解 7. Spring MVC 响应处理 8. Spring MVC SSM 整合 9. Spring MVC 作用域传参 10. Spring MVC 上传 1…

【对话推荐系统】Towards Topic-Guided Conversational Recommender System 论文阅读

Towards Topic-Guided Conversational Recommender System 论文阅读 Abstract1 Introduction2 Related Work2.1 Conversation System2.2 Conversational Recommender System2.3 Dataset for Conversational Recommendation 3 Dataset Construction3.1 Collecting Movies for Re…

ASP.NET Core 8.0学习笔记(二十八)——EFCore反向工程

一、什么是反向工程 1.原则:DBFirst 2.反向工程:根据数据库表来反向生成实体类 3.生成命令:Scaffold-DbContext ‘连接字符串’ 字符串示例: Server.;DatabaseDemo1;Trusted_Connectiontrue; MultipleActiveResultSets true;Tru…

【大模型LLM】DeepSeek LLM Scaling Open-Source Language Models with Longtermism

深度探索LLM:以长期主义扩展开源语言模型 0.论文摘要 开源大语言模型(LLMs)的快速发展确实令人瞩目。然而,以往文献中描述的扩展规律得出了不同的结论,这为LLMs的扩展蒙上了一层阴影。我们深入研究了扩展规律&#…

C#快速调用DeepSeek接口,winform接入DeepSeek查询资料 C#零门槛接入DeepSeek C#接入DeepSeek源代码下载

下载地址<------完整源码 在数字化转型加速的背景下&#xff0c;企业应用系统对智能服务的需求日益增长。DeepSeek作为先进的人工智能服务平台&#xff0c;其自然语言处理、图像识别等核心能力可显著提升业务系统的智能化水平。传统开发模式下&#xff0c;C#开发者需要耗费大…

Qt常用控件之多行输入框QTextEdit

多行输入框QTextEdit QTextEdit 是一个多行输入框控件&#xff0c;支持富文本和 markdown 格式&#xff0c;当文本内容超出编辑框的范围时能自动提供滚动条。 QPlainTextEdit 是只支持富文本格式的多行输入框&#xff0c;属性和使用上与 QTextEdit 几乎没有区别。 QTextEdit属…

【前端】react+ts 轮播图的实现

一、场景描述 在很多网站的页面中都有轮播图&#xff0c;所以我想利用react.js和ts实现一个轮播图。自动轮播图已经在前面实现过了&#xff0c;如&#xff1a;https://blog.csdn.net/weixin_43872912/article/details/145622444?sharetypeblogdetail&sharerId145622444&a…

深入理解C语言中的位段

在C语言编程中&#xff0c;我们常常会遇到需要对内存进行精细控制的场景&#xff0c;位段&#xff08;bit - field&#xff09;便是C语言提供的一种强大工具&#xff0c;它允许我们在一个字节或多个字节内对数据进行按位的定义和操作&#xff0c;极大地提高了内存使用效率。 一…

Grouped-Query Attention(GQA)详解: Pytorch实现

Grouped-Query Attention&#xff08;GQA&#xff09;详解 Grouped-Query Attention&#xff08;GQA&#xff09; 是 Multi-Query Attention&#xff08;MQA&#xff09; 的改进版&#xff0c;它通过在 多个查询头&#xff08;Query Heads&#xff09;之间共享 Key 和 Value&am…

ReentrantLock 用法与源码剖析笔记

&#x1f4d2; ReentrantLock 用法与源码剖析笔记 &#x1f680; 一、ReentrantLock 核心特性 &#x1f504; 可重入性&#xff1a;同一线程可重复获取锁&#xff08;最大递归次数为 Integer.MAX_VALUE&#xff09;&#x1f527; 公平性&#xff1a;支持公平锁&#xff08;按等…

基于 DeepSeek LLM 本地知识库搭建开源方案(AnythingLLM、Cherry、Ragflow、Dify)认知

写在前面 博文内容涉及 基于 Deepseek LLM 的本地知识库搭建使用 ollama 部署 Deepseek-R1 LLM知识库能力通过 Ragflow、Dify 、AnythingLLM、Cherry 提供理解不足小伙伴帮忙指正 &#x1f603;,生活加油 我站在人潮中央&#xff0c;思考这日日重复的生活。我突然想&#xff0c…

PCB设计常用布局布线方法

PCB设计常用布局布线方法 **1.模块化布局&#xff0c;**先放大器件再放小器件。 立创在原理图框完后&#xff0c;在PCB快捷shiftp 2.布局对齐美观 3.重要信号线优先处理 分类再画 4.减少Stub布线&#xff1a;就是避免为连接的线段&#xff0c;防止产生“天线效应”&#xff…

Mac 版 本地部署deepseek ➕ RAGflow 知识库搭建流程分享(附问题解决方法)

安装&#xff1a; 1、首先按照此视频的流程一步一步进行安装&#xff1a;(macos版&#xff09;ragflowdeepseek 私域知识库搭建流程分享_哔哩哔哩_bilibili 2、RAGflow 官网文档指南&#xff1a;https://ragflow.io 3、RAGflow 下载地址&#xff1a;https://github.com/infi…

OpenIPC开源FPV之Adaptive-Link安装

OpenIPC开源FPV之Adaptive-Link安装 1. 源由2. 介绍2.1 天空端安装2.2 地面端安装 3. 问题汇总3.1 安装脚本问题3.2 网络安装问题3.3 非SSC30KQ/SSC338Q硬件3.4 代码疑问 4. 总结5. 后续 1. 源由 鉴于飞行过程&#xff0c;发现一些马赛克现象&#xff0c;且60FPS桌面30FPS的录…

解析第十一页

多选707、如图所示组网,SWA、SWB、SWC、SWD运行RSTP,则以下说法正确的是? A、可以在SWB的GE0/0/2端口开启边缘端口,让连接终端的接口快速进入转发状态 B、边缘端口收到BPDU之后会重新参与生成树的计算 C、可以在SWC的GEO/0/2端口开启边缘端口,让连接终端的接口快速进入转…

我的AI工具箱Tauri版-FluxCharacterGeneration参考图像生成人像手办(Flux 版)

本教程基于自研的AI工具箱Tauri版进行ComfyUI工作流FluxCharacterGeneration参考图像生成人像手办&#xff08;Flux 版&#xff09;。 我的AI工具箱Tauri版 - FluxCharacterGeneration参考图像生成人像手办&#xff08;Flux版&#xff09; 基于先进的FLUX模型&#xff0c;通过…

【前端基础】Day 2 HTML

目录 1.表格标签 2.列表标签 3.表单标签 4.综合案例 5.查阅文档 1.表格标签 <body><table align"center" border"1" cellpadding"0" cellspacing"0" width"500" height"100"><thead> …