Level10을 들어가서 hint를 입력하면 다음과 같이 나옵니다.
두 명의 사용자가 대화방을 이용하여 비밀스런 대화를 나누고 있다.
그 대화방은 공유 메모리를 이용하여 만들어졌으며,
key_t의 값은 7530이다. 이를 이용해 두 사람의 대화를 도청하여 level11의 권한을 얻어라.
이번 문제는 공유 메모리를 도청하는 문제로 보입니다.
공유 메모리는 여러 프로세스가 같이 쓰는 메모리를 말합니다. 이 기술을 이용하면 프로세스 끼리 통신을 할 수 있으며, 같은 데이터를 공유할 수 있습니다.
같은 메모리 영역을 공유하기 위해서는 공유메모리를 생성한 후 프로세스 자신의 메모리를 사용하듯 사용하면 됩니다.
ipcs를 쓰면 현재 사용하고 있는 공유 메모리의 정보가 출력됩니다.
Key: 0x1D6A(7530)
Owner: root
Perms: 666
Bytes: 1028
권한이 666으로 되어 있으니 모든 사용자가 볼 수 있겠군요.
C언어로 공유메모리 접근 프로그래밍을 해줍니다.
http://forum.falinux.com/zbxe/index.php?document_srl=423456&mid=C_LIB
코드는 위 링크를 참고하여 작성했습니다.
컴파일 한 후 프로그램을 돌리면 level11 암호가 출력됩니다.
Level11의 암호는 what!@#$?이네요.
공유메모리를 사용할때는 권한 설정을 잘 해야겠습니다.
'HackerSchool Series > F.T.Z.' 카테고리의 다른 글
[F.T.Z.(Free Training Zone)] Level - 12 (0) | 2016.01.03 |
---|---|
[F.T.Z.(Free Training Zone)] Level - 11 (0) | 2016.01.03 |
[F.T.Z.(Free Training Zone)] Level - 09 (0) | 2015.06.30 |
[F.T.Z.(Free Training Zone)] Level - 08 (0) | 2015.06.29 |
[F.T.Z.(Free Training Zone)] Level - 07 (0) | 2015.06.28 |