반응형

SI 3

SMP2010 binary hacking6 풀이

/* * http://sosal.tistory.com/ * made by so_Sal */ smp2010 중, 6번 바이너리 해킹문제 입니다. 문제파일입니다. 리눅스 서버에서 wget 툴을 사용하여 바이너리를 일단 받죠. (위 파일의 url임) wget http://sosal.tistory.com/attachment/cfile23.uf@167E83114CEC1DCD1F4271 받은 파일의 이름을 간단하게 바꾸고, file 명령어로 실행이 가능한 파일인지 확인 후 실행해봤습니다. Segmentation fault! 작렬하네요. argv를 넣어보니, 뭔가 인자를 발견했다 하고 바로 꺼지네요..? (일단 설치하고 문제 프로그램의 이름을 myfile로 수정하여 공격하겠습니다.) 매개변수를 여러개 넣어도 같은 결..

Linux :: 디버거 GDB 디버깅 테크닉

/* * http://sosal.tistory.com/ * made by so_Sal */ 1. 디버깅 정보를 담아 컴파일 하기 2. gdb 실행하기, 프로그램 디버깅 시작하기, gdb 종료하기 3. 프로그램의 c언어 소스 보기 (디버깅 정보 포함) 4. 프로그램의 어셈블리 코드 보기 5. break 포인트. 디버깅 실행과 진행 명령어 6. 변수, 포인터 값 보기, 출력 형식 지정,함수 리턴값 지정 등 value 값 모니터링 하기 7. 변수값 바꾸기 8. 레지스터 값 보기 9. 메모리가 가지는 값 확인하기 10. 디버깅중인 프로세스에 시그널 보내기 gdb :: GNU Debugger GDB는 컴퓨터 프로그램을 실행하여, 사용자에게 실행 과정을 추적하고, 중간에 임의로 수정, 심볼(함수,변수)들을 모니터링..

Linux/Linux_technic 2010.01.31

BOF - 01.buffer over flow? 메모리 구조, 레지스터

/* * http://sosal.tistory.com/ * made by so_Sal */ :: 버퍼 오버플로우 :: 어떤 메모리 공간에 사용자가 데이타를 입력할 수 있는 기회가 생겼을 때, 시스템이 원하는 메모리 공간 이상의 코드를 대입하여 ret라는 녀석을 조절하여 시스템에게 사용자가 원하는 행동을 하도록 합니다. 이게 무슨뜻이냐면.. 천천히 내려갑시다. 아래는 시스템 메모리 구조를 나타낸다. 환경변수, 프로그램 인자값중 문자열 환경변수, Argv 포인터 인자값의 수 스택 영역. heap 영역. 초기화 되지 않은 변수 초기화 된 변수 읽을 수 있는 부분이 있으나, 변조될 경우 Segfault 발생 인텔 80x86 CPU 레지스터 - 범용 레지스터 - AX - Accumulator :: 산술연산 BX ..

반응형