DreamHack12 [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. [DreamHack] 드림핵 Apache htaccess 문제 확인 해당 문제는 필터링을 우회하여 파일 업로드를 통해 flag를 획득하는 문제이다. 서비스 분석 해당 페이지에 접속하면 아래와 같은 페이지를 확인할 수 있다. 인덱스 페이지에는 파일을 선택하고 업로드하는 기능이 있음을 알 수 있으며 서비스 분석을 위해 임의의 파일을 업로드하였다. 위의 그림은 임의의 파일 st-og.PNG 파일을 업로드 했을 때 출력되는 페이지이다. 해당 그림을 통해 업로드된 파일은 /upload/경로에 저장됨을 알 수 있으며 해당 경로로 접속 시 파일의 내용을 확인할 수 있음을 아래의 그림을 통해 확인하였다. 소스 코드 아래 코드는 인덱스 페이지를 구성하는 index.php의 코드이다. 5~25: 인덱스 페이지의 출력되는 화면을 구성하기 위한 html코드이다. 26~34: 선택된.. 2024. 1. 20. [DreamHack] 드림핵 out of money 문제 확인 해당 문제는 여러 코인의 구매와 대출을 통해 DHH코인을 1000개를 모으고 빚이 없을 경우 플래그를 획득할 수 있는 문제이다. 서비스 분석 해당 페이지를 처음 접속하면 로그인 페이지를 확인할 수 있다. 해당 입력칸에 자신의 이름을 입력하면 사설 거래소와 유동성 풀로 접근할 수 있는 인덱스 페이지를 확인할 수 있다. 아래 그림은 산타 사설 거래소의 페이지이다. 해당 페이지에서는 DHH코인을 빌릴 수 있으며 각 코인을 다른 코인으로 바꾸는 기능과 Flag를 구매할 수 있는 것을 확인할 수 있다. 아래 그림은 드림 유동성 풀의 페이지이다. 해당 페이지에서는 DHC코인을 담보로 DHD코인을 빌릴 수 있으며 예금 기능이 가능한 것을 확인할 수 있다. 소스 코드 아래 그림은 /santa 페이지의 소스코.. 2024. 1. 19. 이전 1 2 3 다음