readme 파일을 보면 9026 포트로 연결을 시도하면 asm 바이너리가 실행될거라고 한다. flag를 읽어야하는데 flag 파일의 명이 위와 같이 매우 길다...
asm.c 소스 파일이다. 64bit 쉘코드 문제이며 open(), read(), write() 시스템 콜만이 사용 가능하다. 아래의 표시한 부분을 보면 chroot() 함수로 프로세스가 인식하는 루트 디렉토리를 변경하고 sandbox() 함수(이 함수에서 사용 가능한 시스템 콜을 open(), raed() write()로 제한한다.)를 호출한 후 sh 포인터 변수의 값을 실행시킨다.
64bit 형태로 open(), read(), write() 쉘코드를 작성하면 되는 간단한 문제이다.
pwntools의 shellcraft를 이용해 간단하게 쉘코드를 작성했다.
flag를 출력했다!
'Wargame > Pwnable.kr' 카테고리의 다른 글
Pwnable.kr brainfuck-150pt (0) | 2017.05.07 |
---|---|
Pwnable.kr leg-2pt (0) | 2017.04.26 |
Pwnable.kr cmd2-9pt (0) | 2017.04.19 |
Pwnable.kr cmd1-1pt (0) | 2017.04.19 |
Pwnable.kr shellshock-1pt (0) | 2017.04.17 |