1、检查文件类型
查看之后发现是64位的ELF文件,只开启了一个NX保护,不影响栈溢出,直接放入IDA64进行反编译。
2、IDA反编译,进行分析
双击vulnerable_function
发现buf变量分配的空间只有0x80,而read函数的第三个参数是0x200,会造成溢出。
3、实现方法
在python脚本中输入
"node5.buuoj.cn",25586是靶机信息
按shift+F12,出现下面的信息,双击/bin/sh
双击callsystem函数
可以看到起始地址是400596,我们将其覆盖return的地址就会调用其函数