티스토리 뷰

시작합시다 !

소스코드입니다... 뭐가 이리 긴지 -_-;; 캡처하기도 무섭네요...

암튼 분석해보면 포인터로 함수(bad) 가리키고 buffer[50] 선언을 해놨습니다. 그리고 if 로 조건을 걸고, memcpy, memset으로 값을 복사한 후에 앞의 바이트들을 4바이트 빼고 모두 0으로 초기화 시킵니다.

딱 보면 감이 오시죠 ? memcpy 부분에서 overflow 되는 것을 이용해서 함수포인터의 주소 값을 바꾸는 문제입니다.

일단 막 값을 넣다보면,

76개를 넘어가는 순간부터 포인터 값을 침범합니다.

코드 구성을 A*76 + '문제 풀기 위한 주소' 를 넣으면 되는거죠.

사실 좀 귀찮아서 gdb로 분석안하고 그냥 막 값 넣다보니 딱 나와서 -_;; 분석하실 분은 분석해보세요. 안 어려워요.

바로 풀면 ~

9C4Jxjc3O3IjB7nXej 입니다 !

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