FTZ level10
hint :
두명의 사용자가 대화방을 이용하여 비밀스런 대화를 나누고 있다.
그 대화방은 공유 메모리를 이용하여 만들어졌으며,
key_t의 값은 7530이다. 이를 이용해 두 사람의 대화를 도청하여
level11의 권한을 얻어라.
공유메모리와 공유메모리와 관련된 함수에 대한 자세한 설명은
http://geundi.tistory.com/52
key_t의 값을 알고있으니 key_t를 이용해 식별자를 구하고
식별자로 공유메모리의 주소를 구해 그 내용을 출력하는 프로그램을 짜면
다음레벨의 패스워드를 알 수 있다.
-프로그램소스
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | #include <stdio.h> #include <sys/types.h> #include <sys/shm.h> int main(){ int identifier; int address; int key; printf("input key_t:"); //key_t입력 scanf("%d",&key); identifier = shmget(key,0,IPC_CREAT); //shmget함수로 식별자 구하기 address = shmat(identifier,0,0); //shmget함수의 리턴값(식별자)로 공유메모리주소 구하기 printf("%s",address); //주소에있는 대화 출력 return 0; } | cs |
멍 멍 : level11의 패스워드는?
'System > FTZ' 카테고리의 다른 글
FTZ level12 (0) | 2015.03.17 |
---|---|
FTZ level11 (0) | 2015.03.17 |
FTZ level9 (0) | 2015.03.17 |
FTZ level8 (0) | 2015.03.17 |
FTZ level7 (0) | 2015.03.17 |