cgy12306
FTZ 10번 level10 본문
ID : level10
PW : interesting to hack!
hint
공유 메모리를 도청해야한다.
공유 메모리는
key 값을 이용해 A가 공유 메모리를 생성하면, B가 key값으로 인증해서 메모리를 공유하는 방식이다.
출처 : http://forum.falinux.com/zbxe/index.php?mid=C_LIB&document_srl=423456
공유메모리를 이용한 코드를 짜보자.
메모리를 공유하기 위해 sys/shm.h 와 sys/ipc.h를 선언해주고, key_t 변수에 key값인 7530을 넣어준다.
shm_id=shmget(key, 300, IPC_CREAT)는 공유메모리 공간을 가져온다. 없으면 생성한다.
사용법은 int shmget(key_t key, size_t size, int shmflg); key는 공유하는 키값, size는 메모리 크기, shmflg는 생성 및 접근이다. 성공하면 양의정수를 반환하고 실패하면 -1를 반환해준다.
shm_addr = shmat(shm_id, (void *)0, 0)은 공유메모리와 프로세스를 연결시켜준다. 사용법은 void* shmat(int smId, const void* shm_addr, int flag); smId 는 공유메모리 식별자, shm_addr는 공유메모리와 연결하고자하는 프로세스 내부의 메모리(0은 null 시스템이 기본으로 할당 해줌), flag는 속성설정이다.
그럼 이제 실행 시켜보자.
비밀번호는 what!@#$? 이다.
'Wargame > FTZ' 카테고리의 다른 글
FTZ 12번 level12 (0) | 2019.07.06 |
---|---|
FTZ 11번 level11 (0) | 2019.07.06 |
FTZ 9번 level9 (0) | 2019.07.06 |
FTZ 8번 level8 (0) | 2019.07.06 |
FTZ 7번 level7 (0) | 2019.07.06 |
Comments