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!@#$?이네요.

 

공유메모리를 사용할때는 권한 설정을 잘 해야겠습니다.

+ Recent posts