티스토리 뷰

우선 코드의 내용을 확인하자



egghunter에 이어 buffer hunter라는 기능이 추가되었다. buffer hunter의 경우에는 입buffer에 쉘코드를 입력하여 쉘을 유도하지 못하도록 추가된 기능이며 memset(buffer, 0, 40)으로 buffer의 내용물을 비워 쉘코드를 입력하여도 무용지물이 되도록 하였다.


이에 해결방법으로는 2가지를 찾을 수 있었다.


1. RET 바로 뒷부분의 주소에 shellcode를 기록

2. argv[2] 인자값으로 쉘코드를 입력하여 해당 위치로 이동.


2번 방법을 선택하여 문제를 풀어보도록 하자. 



우선 argv[2]의 주소를 알기위해 코드를 복사하여 argv[2]의 주소를 출력하도록 설정하였다. 



argv[2]의 주소는 0xbffffc71이라는 것을 알 수 있었고 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
글 보관함