这是一周前做的一道题目,总的来说这道题很简单,当然一开始看了半天没发现溢出点也是十分的惭愧,题目出的很良心,思路就是溢出之后我们可以控制main函数的ebp, 进而在main函数返回时进行漏洞利用。
先看看IDA反汇编的结果
主函数的几个内存操作的函数都没有什么问题,那么问题很可能出现在auth函数了
这时候溢出点就一目了然了,input最大12个字节,而v4只有8个字节,调试一下发现,覆盖的是主函数的ebp,经过调试发现控制ebp可以跳转到任意地址,那么跳转到哪呢,发现input是个固定地址, input是我们输入的内容,依靠leave指令将执行system("/bin/sh")的地址赋给esp,最后ret指令将地址给eip,完成利用。
时间: 2024-08-05 10:24:21