티스토리 뷰

3탄의 코드를 살펴보도록 하자.



gets로 직접 입력을 받는다. 하지만 문자길이에 대해 체크하지 않기때문에 여기서 버퍼 오버프롤우가 일어날 수 있게된다.


변수의 사이즈를 고려하여 직접 쉘코드를 덮어씌우는건 힘들것으로 추측되어 환경변수에 쉘코드를 저장하고 RET의 값을 쉘코드의 주소로 덮어씌우는 것을 목표로 한다.



스택의 사이즈가 16인 것을 보면 더미가 존재하지 않는 것을 알 수 있다.


따라서 buf[16]+SFP[4]+RET 로 이루어진 것을 추측할 수 있다.


환경변수에 등록한 쉘코드에 대한 주소를 확인해보자.



0xbffffee7인 것을 확인했으므로 RET의 위치에 해당 값을 덮어씌워주면 된다.



공격에 성공하여 다음단계로 넘어갈 수 있게되었다.

댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/05   »
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
글 보관함