ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

基本 ROP 理解

2020-11-26 22:01:03  阅读:388  来源: 互联网

标签:基本 理解 控制程序 gadgets 指令 Linux ROP 执行


DEP(Linux下对应NX)、ASLR(Linux下对应PIE)

DEP - 数据执行保护的缩写,Data Execution Prevention。

他是一套软硬件技术,能够在内存上执行额外检查以帮助防止在系统上运行恶意代码。

其基本原理是将数据所在内存页标识为不可执行,当程序溢出成功转入shellcode时,程序会尝试在数据页面上执行指令,此时CPU就会抛出异常,而不是去执行恶意指令。

 

魔高一尺道高一丈,攻击者也是想出了对应的处理手段~

目前主要的是 ROP(Return Oriented Programming):面向返回的程序设计

其主要思想是在栈缓冲区溢出的基础上,利用程序中已有的小片段 (gadgets) 来改变某些寄存器或者变量的值,从而控制程序的执行流程。

 

所谓 gadgets 就是以 ret 结尾的指令序列,通过这些指令序列,我们可以修改某些地址的内容,方便控制程序的执行流程。(类比之前做的实验三!)

ret指令用栈中的数据,修改IP的内容,从而实现近转移。

ret2text :

即控制程序执行程序本身已有的的代码 (.text)。

我们控制执行程序已有的代码的时候也可以控制程序执行好几段不相邻的程序已有的代码 (也就是 gadgets),这就是我们所要说的 ROP。

1.

 

2.

3.

 

 

 

 

链接:https://www.anquanke.com/post/id/208935#h2-1

SOHO:是什么?

CGI函数是什么?

recv函数用于从连接中获取用户输入。

Hex-Rays:这个软件有什么特殊的地方吗?

 

自己想到的:power shell和CMD有什么区别!

远程指纹识别:指纹是什么?

objdump命令是Linux下的反汇编目标文件或者可执行文件的命令,它以一种可阅读的格式让你更多地了解二进制文件可能带有的附加信息。

消费级网络设备:消费者使用的网络设备。

 

 

 

 

 

 

 

标签:基本,理解,控制程序,gadgets,指令,Linux,ROP,执行
来源: https://blog.csdn.net/weixin_42859280/article/details/110193914

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有