CTFshow-PWN-栈溢出(pwn67-pwn68)nop sled 空操作雪橇-对抗栈帧地址随机化
目录
1、解题思路
2、画栈帧计算偏移
3、nop sled 介绍
4、关于 scanf 读入 v5 地址的位置放在哪里
5、关于填充 nop 指令的长度
6、32 位 exp(pwn67)
7、对于 64 位(pwn68)
1、解题思路
32 位程序,未开启 NX 保护
主函数如下:
第一次 fgets 可以将 shellcode 写到 seed;
第二次 scanf 读入一个地址给 v5,那么我们再将 seed 的地址给它,后面就可以直接执行 shellcode。
问题在于如何获取 seed 的地址
在此之前会打印出 position 的地址
position 来自 query_position 函数的返回值
我们跟进 query_position 函数