预备知识
关于ROP
ROP的全称为Return-oriented programming(返回导向编程),这是一种高级的内存攻击技术可以用来绕过现代操作系统的各种通用防御(比如内存不可执行和代码签名等)。
ROP是一种攻击技术,其中攻击者使用堆栈的控制来在现有程序代码中的子程序中的返回指令之前,立即间接地执行精心挑选的指令或机器指令组。
本系列rop实战题目的背景
来自ROPEmporium,旨在通过解决一系列挑战来一步步进阶学习ROP利用技术。
pivot涉及知识点
1)radare2使用(相关专栏:radare2实战)。
2)汇编程序(阅读、分析,要求熟悉相关指令、寄存器等)。
3)gdb使用。
4)ROPGadget使用。
5)pwntools使用(相关实验:基于pwntools编写pwn代码)。
6)操作系统保护机制。
7)函数调用、传参机制。
8)PLT表、GOT表。
9)ROP中针对栈空间限制的处理技巧。
实验目的
通过该实验学习ROP概念及其思路,了解高级栈溢出时需要注意的事项,并掌握解决方法,同时通过练习给出的关卡来增强实践能力。
实验环境
服务器:kali,IP地址:随机分配
题目文件与源码请在实验机内下载使用:http://tools.hetianlab.com/tools/ROP/7.zip

本文详细介绍了ROP(返回导向编程)技术,包括其概念、背景和涉及的知识点,如汇编、gdb、pwntools等。通过一个具体的实验,讲解了如何在栈空间有限的情况下,通过pivot技术绕过限制,实现ret2win函数的调用,以获取flag。实验步骤涵盖分析、计算偏移和编写ROP链。
最低0.47元/天 解锁文章

被折叠的 条评论
为什么被折叠?



