File Descriptor
Bru1s3rs팀 과제로 시스템문제를 풀게되었다
pwnable.kr 사이트의 간단한 문제이다
우선 제공된 파일을 알아보자
특별히 적용된 보호기법은 없는 것 같다
c코드를 살펴보면 처음보는 함수가 나왔다
문자열을 숫자로 변환해주는 함수
int fd = atoi( argv[1] ) - 0x1234;
len = read(fd, buf, 32);
입력받은 인자에서 0x1234를 뺀 값이 read의 인자로 들어가게 된다
여기서 fd에 어떤 값을 넣어줘야 입력을 할 수 있는지 알아보면 아래와 같다
LETMEWIN을 입력해줘야하니 stdin을 사용해야하고 결국 fd가 0이 되어야 한다
0x1234는 decimal로 4660이니 해당 숫자를 실행할때 인자로 넘겨주자
그리고 LETMEWIN을 입력하면 플래그가 나온다