레벨 해킹

 2839, 1/142 회원가입  로그인  
   expl0it
   LOB Redhat 1단계 질문 드립니다.(스포 주의)

http://www.hackerschool.org/HS_Boards/zboard.php?AllArticle=true&no=3282 [복사]


제가 간단하게 BOF에 대해 공부를 한뒤에 Lord of BOF Red hat을 풀게 되었습니다.
1단계에서 막혀서 난관에 봉착하였는데 제가 막힌 부분은
일단 bash 쉘에서는 0xff가 제대로 먹히지 않는 다는 것으로 들어서,

/bin/bash2
로 bash2 쉘 실행 후 제가 공유라이브러리 System 함수를 호출해서 풀려고했기 때문에 환경변수를

PATH=$PATH:.
으로 추가해준 후 공유라이브러리를 올려 System함수의 메모리 주소를 알아낸 후 (예를 들어 주소가 a5a0e0g0 라고 가정하면

./gremlin `perl -e 'printf "A"*260 . "\xg0\xe0\xa0\xa5"'` 2> output
으로 표준 에러 메세지를 output 파일에 출력하여

xxd output
으로 내용을 덤프해서 3a20(:) 와 3a20 사이의 System함수가 실행하는 스택의 내용을 파일로 만들
었습니다. 사이내용이 bbff bfbf bffb bbbf 였다면 파일을 만들때는

ln -s /bin/bash `perl -e 'printf "\xbb\xff\xbf\xbf\xbf\xfb\xbb\xbf"'`
이런식으로 스택의 내용을 그대로 파일로 만들어 환경변수 추가를 통해 bash쉘이 실행 되도록 하게 하는 방식으로 풀려고 했습니다. 하지만 여기서 제가 System함수에서 실행하는 파일을 심볼릭 링크로 만들었음에도 계속 없는 명령어라고 나옵니다. 도와주세요.

  Hit : 2588     Date : 2013/01/11 05:03