hint
두 명의 사용자가 대화방을 이용하여 비밀스런 대화를 나누고 있다.
그 대화방은 공유 메모리를 이용하여 만들어졌으며,
key_t의 값은 7530이다. 이를 이용해 두 사람의 대화를 도청하여 level11의 권한을 얻어라.
https://hongd99.tistory.com/37?category=993821 를 바탕으로 코드를 짰다.
ipcs -m
vi solve.c
shmget으로 커널에 공유 메모리 공간을 요청했다.
key_t는 7530, 최소 크기는 1028, 접근 권한은 666으로 줬다.(ipcs -m의 결과를 바탕으로)
그리고 shmat으로 생성한 공유 메모리에 접근할 수 있는 int형의 식별자를 얻었다.
컴파일해서 실행하면
이제 저 공유메모리에 접근해야 한다.
구글링 엄청 했다. 구글링 결과, solve.c 파일부터 수정해야했다.
solve.c
gcc -o solve2 solve.c
./solve2
궁금한 점
1. key와 shmid의 차이점은 뭘까
key : 공유메모리에 접근할 수 있도록 사용자가 지정한 값
그 key값을 바탕으로 시스템이 적절한 id를 정해서 shmid를 리턴해준다.
그래서 key값만 서로 알고 있으면 같은 공유 메모리에 접근이 가능하다. 그걸 시스템 상으로 관리하려고 shmid를 만들어 놓은 것!!
내 힘으로 풀어서 넘 기분 좋당(❁´◡`❁)
'워게임 > FTZ' 카테고리의 다른 글
FTZ - level12 (0) | 2021.07.22 |
---|---|
FTZ - level11 (0) | 2021.07.21 |
FTZ - level9 (0) | 2021.07.06 |
FTZ - level8 (0) | 2021.07.06 |
FTZ - level7 (0) | 2021.07.06 |
댓글