본문 바로가기

hacking91

[Dream hack] ex-reg-ex https://dreamhack.io/wargame/challenges/834 ex-reg-exDescription 문제에서 요구하는 형식의 문자열을 입력하여 플래그를 획득하세요. 플래그는 flag.txt 파일과 FLAG 변수에 있습니다. 플래그 형식은 DH{...} 입니다.dreamhack.io답서버 생성하고 웹에 접속해보면이런 화면이 나온다.문제에서 요구하는 문자열을 입력해서 flag를 출력하게 해야한다.이 화면에는 힌트가 없으니 파일을 다운받아서 코드를 본다. python 코드에서 이 부분을 찾을 수 있다.이 정규표현식을 분석해서 알맞는 문자열을 만들어야 한다. dr\w{5,7}e\d+am@[a-z]{3,7}\.\w+ 1. 정규 표현식 분석'dr': 문자열 'dr'을 매치한다.'\w{5,7}': 다.. 2025. 3. 3.
[Dream hack] 64se64 https://dreamhack.io/wargame/challenges/872 64se64Description "Welcome! 👋"을 출력하는 html 페이지입니다. 소스 코드를 확인하여 문제를 풀고 플래그를 획득하세요. 플래그 형식은 DH{...} 입니다.dreamhack.io답파일을 다운 받고 열면이런 창이 뜨는데 여기서 소스코드를 본다. Welcome! ?? 그러면 이런 코드가 나타나는데여기서 'input'의 'value'값이 'base64'로 인코딩 되어 숨어있다. 이걸 'base64'로 디코딩 해주면#!/usr/bin/env python3asc=[68, 72, 123, 98, 101, 48, 52, 54, 98, 55, 53, 50, 50, 97, 97, 50, 101, 50,.. 2025. 3. 2.
[호출 규약] cdecl cdecl인자 정달 방식:'cdecl'에서는 인자를 스택을 통해 전달한다. 이때 인자들은 호출이 이루어지기 전에 스택에 push 되느넫마지막 인자부터 첫 번째 인자 순으로 거꾸로 push 된다. 사용하는 이유:호환성 보장: 다양한 컴파일러나 다른 호출 규약을 사용하는 시스템간의 호환성을 보장하기 위해 사용한다.쉽게 말해 어떤 시스템에서는 기본 호출 규약이 cdecl이 아닐 수도 있다.명시적 정의: 명시적으로 cdecl을 사용함으로써, 다름 사람이 코드를 이해하는데 도움을 준다. 예시int __attribute__((cdecl)) sum(int a, int b) { return a + b;}  참고앞에 __attribute__가 붙는 이유Microsoft Visual C++ 같은 컴파일러에선 'voi.. 2025. 3. 2.
[Assembly] c언어 코드를 어셈블리어로 변환하여 파일에 저장 1. 필요한 것GCC(GNU Compiler Collection) 컴파일러가 설치되어 있어야 한다.GCC는 Linux, maxOS, windows 등 대부분의 운영체제에서 사용할 수 있다. 2. 명령어GCC 컴파일러를 사용하여 c언어 코드를 어셈블리 코드로 변환하고자 할 때 아래 명령어를 사용한다.gcc -o [출력파일] [입력파일].c -m32 -S'gcc':GNU Compiler Collection의 약자로 여러 프로그래밍 언어의 컴파일을 지원하는 컴파일러 도구 모음 이다.'-o [출력파일]':컴파일된 결과물의 파일의 이름을 지정한다. '[출력파일]'부분에 웧나는 파일 이름을 입력한다.예를 들어 '-o program' 이라고 하면 결과물은 'program' 또는 'program.s'가 이름이다.'[입.. 2025. 3. 2.
[Dream hack] Welcome Hackers👨‍💻 👉잠시 아래의 두 코드를 읽고, "Welcome Hackers :)"가 출력되는 입력값을 찾아보세요.#include #include #include int main() { int sz = 0x30; // sz에 16진수 0x30을 할당한다. 십진수론 48이다. char *buf = (char *)malloc(sizeof(char) * sz); // sz 크기의 메모리를 동적할당 한다. puts("Hello World!"); // hello world 를 출력한다. puts는 출력하고 자동 줄바꿈 한다. printf("Education + Hack = ?\n"); fgets(buf, sz, stdin); //문자열을 읽어 buf에 저장한다. 최대 sz-1 개 문자를 읽는다. if (!strn.. 2025. 3. 2.
정보보호 3요소 구성기밀성 (Confidentiality)무결성 (Integrity)가용성 (Availability)💡CIA 로 앞글자만 따써 부르기도 한다.미국 CIA (Central Intelligence Agency)와는 다르다.기밀성(Confidentiality) :개인이나 조직의 민감한 정보가 허가지 않은 사용자에게 노출되지 않도록 하는것 허가를 받은 사람만 이용할 수 있는 성질예를 들면 은행에서 고객의 계좌 정보를 암호화하여 저장하고 이 정보는 인증된 사용자만 접근할 수 있다. 이렇게 함으로써 민감한 정보가 무단으로 접근하거나 유출되는 것을 방지한다.  무결성 (Integrity) :개인이나 조직의 민감한 정보와 시스템이 허가받지 않은 사용자에 의해변경되지 않도록 하는것제 3자등에 의해 변경되지 않고, 본래.. 2025. 3. 2.