- 博客(7)
- 收藏
- 关注
原创 栈迁移基础
栈迁移就是控制E/RBP、E/RSP寄存器,让栈帧指向一段我们可以控制的内存,从而实现程序执行流的目的。 栈溢出攻击时,一个条件就是栈上有充分的空间可以布局。当溢出空间不够时,就需要栈迁移来解决了。
2023-03-27 19:56:02 250
原创 整数溢出知识
整数溢出在pwn中属于比较简单的内容,当然并不是题目比较简单,而是整数溢出本身并不复杂,情况也比较少。但是整数溢出本身是无法利用的,需要结合其他手段才能达到利用的目的。
2023-03-27 19:55:05 474
原创 整数溢出练习
从正常思路来看我们会利用read函数来进行栈溢出,那就得看nbytes大小,再看到nbytes最大为10,无法造成栈溢出,但是if中的是有符号nbytes,而read函数中的是无符号的,这是就可以利用整数溢出。直接输入‘-1’来造成整数溢出,构造exp。整数溢出详情可以看——>然后打开IDA看看代码。
2023-03-27 19:47:54 81
原创 栈溢出漏洞
CPU在执行call指令时,会先将当前call指令的下一条指令的地址入栈,再跳转到被调用函数。编译器会始终保证即使子函数使用了栈并修改了栈顶的位置,也会在函数返回前将栈顶恢复到刚进入函数时候的状态,从而保证取到的返回地址不会出错。Canary保护机制是,通过在栈保存rbp的位置前插入一段随机数,这样如果攻击者利用栈溢出漏洞覆盖返回地址,也会把Canary一起覆盖。 栈(stack)是一种简单且经典的数据结构,最主要的特点是使用先进后出(FILO)的方式存取栈中的数据。栈溢出是缓冲区溢出的一种。
2023-03-27 19:44:13 278
原创 N1Book-Pwn系列I
拿到手checksec一下,看看保护64位,开启了NX保护,打开IDA看看可以看到gets函数,明显的栈溢出漏洞,并且还有system(“/bin/sh”),直接编写exp。
2023-03-27 19:43:33 156
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人