본문 바로가기

카테고리 없음

hackerschool FTZ : level 12 풀이

 

문제 분석

 

gets를 이용해

main 함수의 ret 조작

 

 

풀이

 

1. str 크기 : 264bytes

 

2. shellcode 환경 변수 저장

 

환경변수 시작주소가 안맞을 수도 있기 때문에 환경변수에 “\x90”(nop) 여유있게 넣어준다.

 

3. 저장된 shellcode 주소 : 0xbffffbde

 

이름이 "SHELLCODE"인 환경변수의 주소를 출력해주는 함수 작성 -> 실행

 

 

4. payload = dummy(268bytes) + ret

              = "a"*268 + 0xbffffbde

 

 

 

참고

 

cat 쓰는 이유

 

프로그램을 실행하면 쉘이 열렸다 바로 닫히기 때문에 cat 실행해서 cat 입력한 값을 쉘에 넘겨준다.