반응형

드림핵 19

드림핵 cookie (Level1) Write up

문제 설명 https://dreamhack.io/wargame/challenges/6/ cookie 쿠키로 인증 상태를 관리하는 간단한 로그인 서비스입니다. admin 계정으로 로그인에 성공하면 플래그를 획득할 수 있습니다. Reference Introduction of Webhacking dreamhack.io 위 사이트에서 해당 문제를 풀 수 있다, admin 계정으로 로그인을 성공하면 플래그를 획득할 수 있다. 문제 파일을 다운로드 받는다. #!/usr/bin/python3 from flask import Flask, request, render_template, make_response, redirect, url_for app = Flask(__name__) try: FLAG = open('./f..

드림핵 session-basic (Level1) Write up

문제 설명 https://dreamhack.io/wargame/challenges/409/ session-basic Description 쿠키와 세션으로 인증 상태를 관리하는 간단한 로그인 서비스입니다. admin 계정으로 로그인에 성공하면 플래그를 획득할 수 있습니다. Reference Background: Cookie & Session dreamhack.io 위 사이트에서 해당 문제를 풀 수 있다, admin 계정으로 로그인에 성공하면 플래그를 획득이 가능하다고 한다. 쿠키와 세션으로 인증 상태를 관리하는 서비스이다. #!/usr/bin/python3 from flask import Flask, request, render_template, make_response, redirect, url_for ..

드림핵 darimchal_001(LEVEL 1) Write up

문제 설명 드림이 친구 다리미가 랜섬웨어를 심어 XOR을 하여 암호화하여서 우리는 복호화키를 찾아야한다. 문제 코드 #include #include #include #define JOKER "\x40\x53\x06\x03\x43\x52\x54\x3b" #define KEY "023661dd4\0" #define TRUE 1 #define FALSE 0 #define OK 0 #define ERRO -1 void __print_sw_title (char *sw_name); int __is_valid_pwd (char *pwd); char *__obfuscation (char *pwd, char *key); void __create_tag (char *id); int main (int argc, char *..

rev-basic-1 LEVEL 1

1. 문제 정보 1.1 문제 이름 rev-basic-1 (dreamhack) 1.2 문제 설명 문제를 실행하면 문자열을 받도록 되어있다. 문자열을 넣었을 때 프로그램 내부에서 검증을 거쳐 검증이 통과하면 Correct 통과하지 못하면 Worng을 출력한다. 1.3 문제 분야 ◼️ 리버싱 2. 풀이 2.1 정적 분석 Shift + f12를 눌러 문자열을 검색하였다. 'Input :', 'Correct', 'Wrong' 등 다양한 문자열이 존재를 한다. 검증부분이 통과할 때 Correct 부분이 출력될 것이므로 이 부분을 분석하겠다. 더블클릭으로 Correct 부분에 접근하고 x를 통해 문자열이 호출하는 함수로 접근을 하였다. 먼저 sub_1400013E0와 sub_140001440 함수를 먼저 분석해 보겠..

rev-basic-0 LEVEL 1

1. 문제 정보 1.1 문제 이름 rev-basic-0 (dreamhack) 1.2 문제 설명 문제를 실행하면 문자열을 받도록 되어있다. 문자열을 넣었을 때 프로그램 내부에서 검증을 거쳐 검증이 통과하면 Correct 통과하지 못하면 Worng을 출력한다. 1.3 문제 분야 ◼️ 리버싱 2. 풀이 2.1 정적 분석 Shift + f12를 눌러 문자열을 검색하였다. 'Input :', 'Correct', 'Wrong' 등 다양한 문자열이 존재를 한다. 검증부분이 통과할 때 Correct 부분이 출력될 것이므로 이 부분을 분석하겠다. 더블클릭으로 Correct 부분에 접근한다. x를 통해 문자열이 어떤 함수를 호출하는지 알 수 있다. 그림 3번을 보면 main+57번째에서 호출하는 것을 알 수 있다. mai..

드림핵 shell_basic (Level1) Write up

shell_basic 문제 https://dreamhack.io/wargame/challenges/410/ shell_basic Description 입력한 셸코드를 실행하는 프로그램입니다. main 함수가 아닌 다른 함수들은 execve, execveat 시스템 콜을 사용하지 못하도록 하며, 풀이와 관련이 없는 함수입니다. flag 위치와 이름은 /home/ dreamhack.io 위의 링크에 들어가면 문제를 풀 수있다. 문제 설명 main함수가 아닌 다른 함수들은 execve와 execveat와 같은 시스템 콜을 사용하지 못한다고하고, flag의 위치는 /home/shell_basic/flag_name_is_loooooong 위치에 있다. execve와 같은 시스템콜을 사용하지 못하는 것을보면 파일을..

드림핵 SingleByteXor(Level1) Write up

SingleByteXor 문제 SingleByteXor 어느날, 살인사건이 일어났다. 살인 사건의 유일한 증거물은 쓰여있는 쪽지에는, 다음과 같이 적혀있었다. 54586b6458754f7b215c7c75424f21634f744275517d6d 크립이에게 주어진 단서는, 쪽지의 내용과 이것이 dreamhack.io 위의 링크에 들어가게 되면 문제를 풀 수있다. 문제 설명 살인 사건의 증거물로 암호문이 주어졌다. 이 암호문은 어떤 단일 바이트와 XOR해서 만들어진 암호문이다. 원래의 평문을 찾아야 하는 문제이다. 암호문 54586b6458754f7b215c7c75424f21634f744275517d6d 문제 풀이 단일 바이트로 XOR되었기 때문에 원래의 평문을 찾기위해 브루트포스로 XOR해야겠다고 생각을 하..

반응형