본문 바로가기

DreamHack

(12)
Basic_Forensics_1 https://dreamhack.io/wargame/challenges/518 Basic_Forensics_1이미지 파일안에 Hidden 메세지가 숨어있다. keyword : W4!teBear flag : DH{flag}dreamhack.io  I. 문제 개요주어진 이미지에서, 스테가노그래피 기법으로 숨은 메시지를 찾아내는 문제이다. II. 풀이 zsteg 를 활용하면 숨은 메시지를 쉽게 찾을 수 있다. 이때 `grep DH`으로 flag 형식에 맞는 줄만 표시하도록 필터링해야 한다. 왜냐하면 zsteg가 여러가지 조합을 시도한 결과를 표시하기 때문이다.  III. 유사한 문제- https://ctftime.org/task/22186
XSS Filtering Bypass https://dreamhack.io/wargame/challenges/433 XSS Filtering Bypass Description Exercise: XSS Filtering Bypass에서 실습하는 문제입니다. 문제 수정 내역 2023.08.04 Dockerfile 제공 dreamhack.io I. 문제 개요 필터링을 우회하여, 쿠키에 저장된 flag를 읽는 것이 목적이다. II. 취약점 분석 1. 필터링 우회 "javascript", "script", "on" 3개의 단어를 필터링 하여, 해당되는 단어를 빈 문자열 ""로 치환한다. 그러면 "script" 안에 "script"를 한번 더 넣은 "scriscriptpt"를 처리하는 경우를 생각해보자. "scriscriptpt" 안의 "script"..
ssp_001 https://dreamhack.io/wargame/challenges/33 ssp_001 Description 이 문제는 작동하고 있는 서비스(ssp_001)의 바이너리와 소스코드가 주어집니다. 프로그램의 취약점을 찾고 SSP 방어 기법을 우회하여 익스플로잇해 셸을 획득한 후, "flag" 파일을 읽으세 dreamhack.io I. 개요 II. 취약점 분석 1. 보호기법 파악 쉘코드는 NX가 활성화되있으므로, 메모리에 넣어도 실행할 수 없다. 스택 카나리가 존재하므로, payload에 카나리의 값을 넣어줘야 공격을 할 수 있다. 2. 스택 카나리 pwndbg에서 "canary" 명령을 사용하면, 스택 카나리의 값과 주소를 알 수 있다. ebp 근처의 메모리를 살펴보면, 카나리는 ebp로부터 4바이트 떨..
basic_exploitation_001 https://dreamhack.io/wargame/challenges/3 basic_exploitation_001 Description 이 문제는 서버에서 작동하고 있는 서비스(basic_exploitation_001)의 바이너리와 소스 코드가 주어집니다. 프로그램의 취약점을 찾고 익스플로잇해 "flag" 파일을 읽으세요. "flag" 파일의 내용 dreamhack.io I. 개요 버퍼 오버플로우 취약점을 이용하여, 우리가 원하는 함수를 실행하도록 프로세스의 흐름을 조작하는 것이 목표이다. basic_exploitation_000과 다른 점은, 쉘코드를 사용해야 할 필요가 없다는 점이다. basic_exploitation_000은 바이너리 안에 우리가 원하는 쉘을 실행할 수 있는 함수가 없기에, 주어지..
basic_exploitation_000 https://dreamhack.io/wargame/challenges/2
Return Address Overwrite https://dreamhack.io/wargame/challenges/351 Return Address Overwrite Description Exploit Tech: Return Address Overwrite에서 실습하는 문제입니다. dreamhack.io I. 문제 개요 문자열을 입력하는 부분에서 오버플로우를 일으켜, main 함수의 반환주소를 덮어써야 하는 문제이다. II. 취약점 분석 알파벳 A를 여러번 입력하면 에러가 발생한다. 그 이유는 오버플로우가 발생하여, 메모리 영역을 무단으로 침범했기 때문이다. 이를 통해 버퍼 오버플로우 취약점이 있다는 사실을 파악할 수 있다. 자세히 알아보기 위해, 주소 "0x0000000000400719"에 breakpoint를 걸고 주어진 바이너리를 실행해보자..
XSS-1 https://dreamhack.io/wargame/challenges/28 xss-1 여러 기능과 입력받은 URL을 확인하는 봇이 구현된 서비스입니다. XSS 취약점을 이용해 플래그를 획득하세요. 플래그는 flag.txt, FLAG 변수에 있습니다. 플래그 형식은 DH{...} 입니다. 문제 수정 내역 dreamhack.io 문제 개요 웹사이트에서 임의의 자바스크립트 코드를 실행할 수 있는 XSS 취약점을 활용하여, 플래그를 얻는 것이 목표인 문제이다. Flag 위치 "/flag" 엔드포인트는 GET request가 오면 "flag.html"을 렌더링 한다. 하지만 POST request가 오면 "check_xss" 함수를 실행하고, 그 결과 별로 다른 자바스크립트 코드를 실행한다. "check_xss..
cookie https://dreamhack.io/wargame/challenges/6 cookie 쿠키로 인증 상태를 관리하는 간단한 로그인 서비스입니다. admin 계정으로 로그인에 성공하면 플래그를 획득할 수 있습니다. 플래그 형식은 DH{...} 입니다. Reference Introduction of Webhacking dreamhack.io 개요 사용자를 인증하기 위해 사용하는 쿠키를 변조하여, 공격자가 admin 인 것처럼 웹사이트를 기만하는 것이 목적이다. 쿠키는 (Chrome 기준) 브라우저의 개발자 도구의 "Application" 메뉴에서 볼 수 있다. 취약점 분석 소스코드를 살펴보면, admin의 비밀번호가 Flag임을 알 수 있다. 하지만 여기서 admin의 비밀번호 그 자체를 알아내기에는 현실적..