해당 파일이 어떻게 실행되는지 보도록 하겠습니다.
그냥 입력 받고 끝입니다.
어셈코드로 봐보겠습니다.
이번 소스에는 setreuid, system( "bin/sh" ); 가 있는 것으로 봐서는 별다른 쉘코드는 필요 없어 보입니다.
하지만 BOF취약점 함수를 찾으려고 했지만 fgets는 입력받을 개수를 정해버리는 함수라서 BOF공격 대상이 아닙니다.
하지만 딱히 코드를 보니 BOF공격할만한 함수가 없습니다.
그래서 천천히 다시 어셈코드를 보았습니다. 위 어셈코드를 스택으로 표현해 보도록 하겠습니다.
그랬더니 답이 보이더군요.
빨간색 동그라미 친 부분까지가 45자를 입력 받는 부분입니다.
하지만 45자 내에 0xdeadbeef를 위 장소에 넣어서 문제를 풀면 바로 풀리게 됩니다.
level9랑 똑같은 문제 같군요. 더이상 볼 필요도 없이 바로 공격 입력 들어가겠습니다.
끝났습니다.
갑자기 쉬운 문제가 나와버리니 겁나는 군요..;; 어려운 문제를 위한 쉬어가는 타임인지....^^;
'My Study > Exploit' 카테고리의 다른 글
Hackerschool level16 (0) | 2010.03.23 |
---|---|
Hackerschool level15 (0) | 2010.03.23 |
Hackerschool level13 (0) | 2010.03.22 |
Hackerschool level12 (3) | 2010.03.22 |
shell 코드 만들어 보기 (14) | 2010.03.19 |