해킹/Write Up

CodeBlue CTF 2017 secret mailer service Write Up

NextLine 2017. 11. 12. 14:52

0. introduce

취약점도 못찾았는데 지금와서 바이너리를 까보니 이부분이 취약점이다 라고 의심되는 부분이 있었습니다.. ㅠㅠ


1. Binary

RELRO

 STACK CANARY 

 NX

 PIE

 RPATH

 RUNPATH

 FILE

Partial RELRO

 No canary found 

 NX enabled

  No PIE

 No RPATH

 No RUNPATH

 mailer


1) Add a letter -> 스택에 0xff만큼 값을 쓴다.

2) Delete a letter -> memset으로 스택에 있는 값을 지운다.

3) Post a letter -> add한 값을 불러와서

0. No filter -> /dev/null에 값을 쓴다.

1. XOR filter -> /dev/null에 xor을 해서 값을 쓴다.

2. Reverse filter -> /dev/null을 reverse해서 값을 쓴다.

4) Quit


2. Vulnerability

메뉴를 선택할 때 음수를 넣으면 got에 있는 함수를 호출할 수 있다.


3. Exploit

Leak -> 파일스트림에 값을 쓰고 출력시켜서 heap과 libc를 leak할 수 있다.

Exploit -> 파일스트림에 값을 쓸 때 heap에 쓰는걸 이용해서 heap 에 system을 넣고 인자를 잘 맞춰서 익스하면된다.