![](https://img-blog.csdnimg.cn/20201014180756780.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
和ZLTT一起学pwn
文章平均质量分 74
竹林听涛|ZLTT
zltt here
展开
-
和ZLTT一起学pwn 2.ret2text
2.ret2text前置知识基础栈溢出攻击思路在上一篇中,我们学习了最基础的栈溢出攻击方式。事实上,也是最基础的ret2text攻击对elf文件结构较熟悉的人应该发现了,text就是代码段的段名,所谓ret2text,就是向程序中已有的代码段跳转,当然,通常不会有那么简单的利用条件,在调用很多函数的时候,还需要伪造参数在这种状态下,除了需要覆盖返回地址,还需要在栈上伪造压入的参数利用溢出在栈上伪造一个函数的传参,再劫持跳转到函数即可带参调用攻击示例使用如下程序作为示例程序(这个程序有更简单原创 2021-10-27 13:51:19 · 727 阅读 · 1 评论 -
和ZLTT一起学pwn 1.基础栈溢出
1.基础栈溢出前置知识C语言,汇编语言函数调用过程首先,使用如下程序来复习一下一个32位函数在调用过程中栈上发生的变化#include<stdio.h>int add(int a,int b){ int c=0; return a+b;}int main(){ add(1,2);}在调用前,首先从右到左压栈进行传参0x8048404 <main+13> push 20x8048406原创 2021-10-26 18:51:59 · 488 阅读 · 0 评论 -
和ZLTT一起学pwn 0.前置知识和工具准备
0.前置知识和工具准备前置知识在开始学习pwn之前,你需要至少如下的基础知识1.完整的C语言语法基础在这一点上,可以不需要学习过于高深的算法知识,当然,要是会一些算法、数据结构或者能够熟练运用指针就更好了2.基础的linux使用能力图形化界面在此不予阐述,有手就行。这里的linux使用指命令行状态下,能够运用基本的shell命令管理linux系统。不需要到可以进行shell编程的地步,但需要保证不能两眼一抹黑3.python语言基础此处的python包括python2和python3,相信对原创 2021-10-25 22:29:18 · 2499 阅读 · 0 评论