System2 [DreamHack] 드림핵 bof 문제 확인해당 문제는 버퍼 오버 플로우 취약점을 활용하여 flag파일을 읽어오는 문제이다. 서비스 분석 파일 실행 시 meow?라는 문자와 함께 입력을 받게 된다.입력값을 입력 시 동일 경로에 저장되어 있는 cat.txt를 실행한 후 종료한다.소스 코드문제에서 제공되는 소스코드는 없지만 IDA를 사용하여 디컴파일하였다. main 함수 코드 라인설명3~4128크기의 변수와 16크기의 변수를 생성한다.7v5변수에 "./cat"이라는 문자열을 대입한다.8~9meow?를 화면에 출력한 후 144만큼의 데이터를 입력받아 v4에 저장한다.10read_cat이라는 함수를 "./cat"이라는 문자열을 사용하여 동작한다.11meow : {입력받은 값} 의 형태로 출력을 하고 프로그램을 종료한다. 문제 해결main 함수.. 2024. 10. 28. [DreamHack] 드림핵 shell_basic 문제 확인 해당 문제는 시스템의 파일을 읽어오는 쉘코드를 작성하는 문제이다서비스 분석 해당 파일을 실행할 경우 shellcode를 입력받으며원하는 값이 들어오지 않을 경우에는 세그멘테이션 오류가 발생한다.소스 코드 코드에 여러 함수가 보이지만 문제 설명에서 보았듯 풀이와 관련 없는 함수이므로 우리는 main함수의 코드에만 집중하면 된다. 코드 라인설명39mmap 함수를 사용하여 shellcode라는 변수에 rwx의 권한을 가진 메모리 공간을 부여한다40생성된 shellcode의 메모리 공간 중 시작 주소를 저장하기 위한 포인터 함수를 생성46~47사용자에게 0x1000만큼의 데이터를 입력 받는다49~50입력받은 shellcode를 실행하는 코드 *mmap() : 메모리 매핑을 제공하는 함수로 파일과 메모.. 2024. 10. 28. 이전 1 다음