본문 바로가기

Wargame & CTF/Hackerschool FTZ

[해커스쿨] FTZ LEVEL10

[해커스쿨] FTZ LEVEL10 문제 풀이



ㅁ 문제 요약


 문제 유형

System Hacking

 문제 타입

Linux 

 문제 난이도


ㅁ 상세분석


[그림 1] 문제 내용


LEVEL10 계정으로 로그인 하고 hint 파일 내용을 보면 공유 메모리에 대한 hint를 주고 key_t값을 알려준다. LEVEL10 문제는 공유 메모리에 접근하는 소스코드를 작성해서 공유 메모리 데이터를 읽는 문제다.


[그림 2] 공유메모리 개념


LEVEL10 문제를 풀기 위해서는 공유메모리 개념에 대해서 알고 있어야 한다.

공유 메모리(Shared memory)는 여러 프로세스에서 동시에 접근할 수 있는 메모리이다. 문제 내용을 보면 key_t 값을 제공하는데 key_t 값은 공유 메모리를 구별하는 식별 번호이다. 공유 메모리의 위치라고 생각하면 이해하면 쉽다. 즉 key_t 7530 위치에 접근하는 소스코드를 작성하면 된다.


[그림 3] 문제 결과


공격 소스 코드를 간단하게 살펴보면shmget 함수는 공유 메모리를 생성하는 함수다.

shmat 함수는 공유 메모리를 만든 후 프로세스에서 사용하기 위해 공유 메모리에 연결하는 함수다. 최종적으로 shared_memory 변수를 출력하면 LEVEL11 패스워드를 획득할 수 있다.





'Wargame & CTF > Hackerschool FTZ' 카테고리의 다른 글

[해커스쿨] FTZ LEVEL12  (0) 2016.01.04
[해커스쿨] FTZ LEVEL11  (0) 2016.01.04
[해커스쿨] FTZ LEVEL9  (0) 2015.12.30
[해커스쿨] FTZ LEVEL8  (0) 2015.12.30
[해커스쿨] FTZ LEVEL7  (0) 2015.12.29