下载文件后,首先检查保护:
随后将文件拖入ida,查看源码,在hello函数中,发现了如下代码
首先用安全的fgets输入了一个变量,接着用不安全的gets接收了一个变量,在此处可以确认是栈溢出,且溢出点就在此处。
开始寻找利用方式,s到ebp的距离是0x26,所以需要填充0x26的垃圾数据到ebp,接着再填充0x4的垃圾数据(覆盖ebp)。
发现了system函数
还缺一个"/bin/sh"字符串,
下载文件后,首先检查保护:
随后将文件拖入ida,查看源码,在hello函数中,发现了如下代码
首先用安全的fgets输入了一个变量,接着用不安全的gets接收了一个变量,在此处可以确认是栈溢出,且溢出点就在此处。
开始寻找利用方式,s到ebp的距离是0x26,所以需要填充0x26的垃圾数据到ebp,接着再填充0x4的垃圾数据(覆盖ebp)。
发现了system函数
还缺一个"/bin/sh"字符串,