2018 10 14 pwn的学习0x5 没有缓冲区溢出,但是函数参数可覆盖

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/shakeyin1998/article/details/83044975

同样是一道pwn的入门题目,题目本身不同于覆盖返回地址进行控制程序流,而是通过控制紧紧挨着缓冲区附近的参数进行修改从而达到我们所想要程序的目的。

在这里发现我们使用的fgets进行输入,我们利用gdb进去看看 ,

在这里发现箭头所指的位置是指的我们的下面的输出函数的内容所以我们要把这个内容所替换,

在程序当中发现有这么一段

把返回地址覆盖为他的地址就可以了

使用scanf函数,scanf函数没有限定缓冲区的大小,进行读取数据记住其中的传入参数%s 数据字符串所在的位置

另外不是所有的程序都有bss段可以写入 一个程序的bss段可能很小,不能往里面放入数据,所以要学会寻找好的缓冲区空间

在ida当中使用ctrl+s 寻找

猜你喜欢

转载自blog.csdn.net/shakeyin1998/article/details/83044975
今日推荐