Game/L.O.B
L.O.B level2
ellen28
2015. 3. 4. 00:03
level2. gremlin
hello bof world
level1과 마찬가지로 소스를 먼저 확인합니다!
vi cobolt.c
level1과 비슷하지만 buffer의 크기가 아주 많이 작아졌습니다.
버퍼에 쉘코드를 올릴수 없게되었으므로 환경변수를 이용합니다.
쉘코드를 환경변수로 export합니다.
환경변수의 주소를 알아내기 위해 프로그램을 만들고 컴파일 합니다.
* getenv() 함수 : 환경변수의 값을 읽어오는 함수
RET주소는 환경변수의 주소인 0bffffc90이 됩니다!
페이로드 : [A*16(dummy)] + [ebp(4)] + [ret(4)]
(위에서 보낸 환경변수에 문제가있어 다시 export하고 주소를 구했습니다.)
!!꼭꼭!! bash2사용
쉘이 떴습니다 끝!