
中级ROP:ret2csu
ret2csu是一种在x86_64 Linux程序中,当常用ROP gadget(如pop rdi; ret)缺失时的强大利用技术。它通过挖掘glibc初始化函数__libc_csu_init中固有的两段指令序列,实现对rdi、rsi、rdx等关键参数寄存器的间接控制。典型攻击分为三步:首次调用泄露libc基址;第二次调用向.bss段写入数据(如execve地址与"/bin/sh");最终调用执行shell。该技术因代码片段广泛存在于glibc

ret2csu是一种在x86_64 Linux程序中,当常用ROP gadget(如pop rdi; ret)缺失时的强大利用技术。它通过挖掘glibc初始化函数__libc_csu_init中固有的两段指令序列,实现对rdi、rsi、rdx等关键参数寄存器的间接控制。典型攻击分为三步:首次调用泄露libc基址;第二次调用向.bss段写入数据(如execve地址与"/bin/sh");最终调用执行shell。该技术因代码片段广泛存在于glibc
本文介绍了ret2libc攻击技术,这是一种基于动态链接和ROP(返回导向编程)的栈溢出利用方法。文章首先解释了动态链接与静态链接的区别,详细描述了编译过程中预处理、编译、汇编和链接四个阶段,并重点说明了延迟绑定机制中PLT与GOT表的作用。接着,阐述了如何通过泄露GOT表中的函数地址来计算libc基址,进而获取system和/bin/sh的真实地址,最终构造ROP链实现系统命令执行。文中还以32位和64位环境下的实际题目为例,分别说明了参数传递和gadget使用的差异,完整展示了ret2libc的攻击流程与利用方式。
基本ROP:ret2text 参考资料 CTF-wiki:基本ROP 语雀:PWN入门(1-3-1)-基本ROP-介绍 《深入理解计算机系统》 0x01 什么是ROPROP,全称Return Oriented Programming,中文翻译为返回...
栈溢出 参考资料: 栈溢出原理 - CTF Wiki PWN入门(1-2)-缓冲区溢出之栈溢出(strcpy) · Yuque 0x01 什么是栈溢出栈溢出漏洞的历史栈溢出漏洞最早可以追溯到1972年,当时研究人员发现程序如果不对输入长度进行限制,...