본문 바로가기

BOF

64bit 버퍼오버플로우(Buffer Overflow) /* written by kaspy (kaspyx@gmail.com)*/ 버퍼 오버플로우 공격기법이 등장한지도 꽤오래되었지만 64비트에서 공략하는 문서는 그리 많지않아서 정리하게되었다. 그냥... 64비트는 그환경특성상 exploit 하기 여러모로 굉장히 더어려워졌다. 1. 쉘코드 우선은 간단한거부터 말하자면 (당연한거지만) 64비트 리눅스 ELF 바이너리에서는 64비트 쉘코드를 써야한다는것이다. 32비트 같은 경우에는 eax 레지스터에 0xb를 넣고 ebx에 "/bin/sh"의 문자열의 주소, ecx,edx에는 0을 넣은뒤 int 0x80 어셈블리를 실행하면 쉘이 쉘이 떴다. 그러나 64비트에서는 syscall 이라는 어셈블리를 사용하고 rdi에 0x3b를 넣고, rsi와 rdx에 0을 넣은뒤 호출해야.. 더보기
버퍼오버플로우(Buffer Overflow) 해킹기법이란?? /* written by kaspy (kaspyx@gmail.com)*/ 정보보안 분야에서 버퍼오버플로우(Buffer Overflow) 해킹기법은 그 역사가 굉장히 오래되었고, 발생했을시에 굉장히 심각한 결함으로 이어질수 있는 취약점입니다. 버퍼오버플로우 해킹기법의 최초 시발점은 1988년 모리스웜을 들수있습니다. 네트워크를 통해 데이터를 입력받아 처리했던 당시의 컴퓨터는 웜에 의해 수천대의 컴퓨터가 감염되어 파괴되었고, 피해액만 100만달러가 넘었다고하네요. 버퍼오버플로우에 대한 간단한 정의를 하자면, 어떤 프로그램에 비정상적인 데이터를 많이 주입하여, 오류를 발생시키거나, 임의의 악성 코드를 실행하게 만드는 기법이라고 할수있습니다.(이하 BoF) BoF 취약점은 포인터가 존재하는 c/c++ 및 c# .. 더보기