쉘코드 뒤에 여유 공간이 필요한 경우 by ORANG FTZ나 LOB같은 문제 풀이를 하다보면..[nop]... + [셸코드] + [SFP] + [RET] 는 세그먼트 오류가 나고,[셸코드] + [nop]... + [SFP] + [RET] 는 공격에 성공하는 경우 를 발견할 수 있습니다. 1번째 방법은 안되고, 2번째 방법은 되는 차이를 간단하게 보자면..1번째 방법의 문제를 간단한 메모리로 보겠습니다. RET에 함수 주소가 들어오기 전 스택입니다.이상태에서 leave와 ret 명령어가 실행되는 상황을 통해 보겠습니다. leave 명령어는 mov esp, ebp pop ebpesp를 ebp로 옮기고(스택을 정리해주고), 이전 함수의 ebp(SFP)를 pop을 통해 다시 ebp에 저장합니다.pop 되었으니 esp는 RET를 가리킵니다.다시 스택을 보면.. 이.. 더보기 셸코드 만드는법 by ORANG 더보기 이전 1 다음