root-me ELF x86 - Stack buffer overflow basic 4 wooy0ng 2017. 11. 13. 17:11 이웃추가 본문 기타 기능 문제의 코드를 보게되면 구조체를 볼 수 있을 것이다. 이 문제에서의 구조체의 역할은 4가지의 환경변수를 가져와서 사용자에게 보여주는 역할을 하고 있다.
잘 보면 strcpy()함수를 이용하여서 환경변수를 길이제한없이 스택으로 가지고오는것을 볼 수 있다. 즉, strcpy()함수에서 overflow가 일어날 것 같다.
한번 실행을 시켜보자. 실행을 해보니 환경변수 USERNAME가 비어있다는 것을 확인할 수 있다. gdb로 들어가보았다.
들어가서 보니 GetEnv() 구조체 함수가 보인다. 우선 GetEnv()의 스택공간은 0x22c(556)이다.
그런데 strcpy()함수가 호출되기 전의 상황을 자세히 보자. ebp - 0x21c 을 볼 수 있을 거다. 그래서 나는 환경변수는 ebp - 0x21c 부터 볼 수 있을 것이라고 ...
#
overflow
#
overwrite
#
rootme
#
stack