格式化字符串漏洞

本文系统介绍了格式化字符串漏洞的原理与利用。首先讲解了格式化字符串函数(如 printf)的基本用法及其格式化占位符的详细语法。核心漏洞在于当用户输入被直接作为格式化字符串解析时,攻击者可控制其内容,使程序从栈或寄存器中读取或写入数据。文章通过调试实例,具体展示了如何利用该漏洞泄露栈内存(如canary)、任意地址内存(如GOT表)以及使用 %n 等格式化符覆盖指定内存的值(修改变量),并提供了相应的利用脚本示例。

pwn / Linux平台 / 用户模式 / 格式化字符串漏洞

基本ROP:ret2libc

本文介绍了ret2libc攻击技术,这是一种基于动态链接和ROP(返回导向编程)的栈溢出利用方法。文章首先解释了动态链接与静态链接的区别,详细描述了编译过程中预处理、编译、汇编和链接四个阶段,并重点说明了延迟绑定机制中PLT与GOT表的作用。接着,阐述了如何通过泄露GOT表中的函数地址来计算libc基址,进而获取system和/bin/sh的真实地址,最终构造ROP链实现系统命令执行。文中还以32位和64位环境下的实际题目为例,分别说明了参数传递和gadget使用的差异,完整展示了ret2libc的攻击流程与利用方式。

pwn / Linux平台 / 用户模式 / 栈溢出 / 基本ROP

基本ROP:ret2text

基本ROP:ret2text 参考资料 CTF-wiki:基本ROP 语雀:PWN入门(1-3-1)-基本ROP-介绍 《深入理解计算机系统》 0x01 什么是ROPROP,全称Return Oriented Programming,中文翻译为返回...

pwn / Linux平台 / 用户模式 / 栈溢出 / 基本ROP

栈溢出

栈溢出 参考资料: 栈溢出原理 - CTF Wiki PWN入门(1-2)-缓冲区溢出之栈溢出(strcpy) · Yuque 0x01 什么是栈溢出栈溢出漏洞的历史栈溢出漏洞最早可以追溯到1972年,当时研究人员发现程序如果不对输入长度进行限制,...

pwn / Linux平台 / 用户模式 / 栈溢出 / 栈溢出介绍