본문 바로가기
워게임/FTZ

FTZ - level10

by meanjung 2021. 7. 12.

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

댓글