해킹/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을 넣고 인자를 잘 맞춰서 익스하면된다.