본문 바로가기

전체 글143

windows bof [basic stack overflow] windows bof [쉘 코드 만들기]에서 만든 쉘 코드를 이용해서 간단한 stack bof를 해보겠습니다. 실습환경은 이전처럼 Windows XP(Service Pack 2), Visual 6.0입니다. 먼저 bof에 취약한 프로그램을 만듭니다. #include #include int main(int argc, char* argv[]) { char buf[100]; if( argc < 2) { printf("%s string\n", argv[0]); exit(1); } printf("\nbuf : 0x%x\n", buf); sprintf(buf, argv[1]); printf("%s\n", buf); return 0; } sprintf로 인해서 bof취약점이 존재하게 만들었습니다. 그리고 나중에 리턴.. 2012. 4. 8.
windows bof [쉘 코드 만들기] 리눅스 bof를 하다가 처음으로 windows bof를 해보게 되었습니다. 둘다 sfp나 ret을 조작해서 공격자가 원하는 shellcode를 실행시키는 원리는 같습니다. 그런데 리눅스에서는 SUID로 인해 계정 권한 상승을 하는데 windows에서는 무엇을 할까요? 일반적으로 exploit하는 쉘 코드는 다음과 같습니다. Backdoor port open shellcode Reverse Telnet shellcode Download & Exec shellcode 여기서는 가장 기본적으로 cmd.exe를 실행하는 쉘 코드를 만들고 bof를 시도해 보겠습니다. 실습 환경은 아래와 같습니다. - Windows XP(Service Pack 2) - Visual 6.0 먼저 cmd를 띄우는 쉘 코드를 만들어보겠.. 2012. 4. 8.
c++ 파일 입출력 (fstream) #include 파일에 출력하기 - ofstream ofstream 변수선언; ex) ofstream val("filename"); ---------- or ---------- ofstream val; val.open("filename") val buf; //> Extract formatted data (public member function ) gcount Get number of characters extracted by last unformatted input operation (public member function) get Get unformatted data from stream (public member function ) getline Get line from stream (public.. 2012. 4. 7.