티스토리 뷰

Tech

해커스쿨 Level14

pwnbit 2013. 3. 29. 03:46
반응형

Hackershcool level14 = )

 

해커스쿨 FTZ 레벨14 [BOF]

 

 

 

이번에는 fgets함수로 글자수 길이를 45바이트로 제한하고 있지만 buf배열의 크기가 20이므로 BOF가 발생할 수 있다. 그리고 check변수의 값이 0xdeadbeef라는 값이 들어가야 setreuid와 쉘이 뜨게 되어있다. 바로 쉘을 얻을 수 있으니 에그쉘 없이 BOF만을 이용해 check에 deadbeef라는 문자열을 넣어야 한다는 것을 추측할 수 있다.

 

 

main한 번 살펴보면 ①번 밑줄에서 56byte만큼 공간을 할당해주고 있고 ②번 밑줄에서 ebp-16만큼의 공간에서 문자열 비교를 해주고 있다. 그렇다면 쓰레기값 ‘40byte+비교문자열’이면 쉘이 뜰거라는 것을 알 수 있다. 인자 전달 방식은 이전의 Level12와 같이 gets와 같은 fgets이므로 cat 명령어와 Pipe를 이용하여 전달해주면 된다.

 

 

다음과 같이 공격이 성공하여 Level15의 패스워드를 얻을 수 있다.







반응형

'Tech' 카테고리의 다른 글

해커스쿨 Level16  (1097) 2013.03.31
해커스쿨 Level15  (648) 2013.03.30
해커스쿨 Level13  (403) 2013.03.28
해커스쿨 Level12  (259) 2013.03.27
에그쉘 소스(Eggshell code)  (780) 2013.03.26
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/03   »
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
31
글 보관함
300x250