首页 > 游戏攻略 > 正文

rop攻略第一节第七关,ROP攻略:完全掌握第七关的技巧

时间:2023-08-16 作者:互联网

1.概要

ROP(Return Oriented Programming,赶往导向编程)是一种低级的漏洞攻击技术。ROP攻击利用可以做到程序的代码,构造一个可想执行的代码序列。本文将可以介绍ROP攻略第一节的第七关,完全掌握第七关的技巧。

2.第七关的难点

第七关是ROP攻略中都很难的一关。比较多难点只是相对而言如何能实际ROP攻击,利用不能执行一段系统命令的目的。攻击者必须能找到已有的系统函数,构建代码序列,建议使用栈溢出的就能再控制程序扭头想执行该系统函数。

3.解决方法

攻击者需要内部的结构很长ROP链式代码,在栈滴下时把控制权讯息传递给ROP链。ROP链可真包含多个系统函数,攻击者需要一批合适的系统函数并遵循错误的的顺序连接到出声。本关的目标是不能执行一段系统命令,攻击者是需要内部函数system函数,并将需要先执行的命令另外函数参数讯息传递给system函数。攻击者需先研究程序的汇编代码,能找到必须的函数名和地址,用长它们来构建体系ROP链。

4.实战演练

本节将以ROP攻略第一节第七关为例,写一段具体的实战演练过程。是需要,在程序中不能找到system函数的地址`0x7ffff7a4f940`,并找不到`"/bin/sh"`字符串的地址`0x7ffff7b995不是a`。紧接着,去寻找其余要要用的系统函数的地址并最终形成ROP链。

ROP链的形成完整过程追加:

```python

frompwnimport*

pop_rdi=0x4006b3#poprdi;ret;

system_addr=0x7ffff7a4f940sh_addr=0x7ffff7b9950,0

rop=p64(pop_rdi)

rop+=p64(sh_addr)

rop+=p64(system_addr)

```

是从不超过代码,实现将要想执行的命令`/bin/sh`才是参数传达给system函数,并先执行该函数。

5.注意事项

-要对要借用的程序参与深刻的了解,除了程序的汇编代码等。

-形成完整ROP链时要特别注意函数地址包括参数的错误的传递。

-必须注意使用的ROPgadgets是否需要已被libcASLR随机化。

-代码必须在本地测试,避免踩坑,再远程部署。

6.结论

本文,读者应该是能够清楚ROP攻略第一节第七关的攻击流程,这些如何用来ROP攻击实现程序负责执行系统命令的目标。ROP攻击技术必须良好的汇编代码基础和思维逻辑能力,攻击者需要在学习阶段数次相同的ROP链表构建方法,并接受不好算演练。

Rop

8.0

冒险解谜 大小:未知

立即下载
用户评论 条评论)