Dreamhack 108

[55] IT 비전공자 [dreamhack]rev-basic-8문제 풀기

55번째 문제 가보자고!                int __fastcall main(int argc, const char **argv, const char **envp){ char v4[256]; // [rsp+20h] [rbp-118h] BYREF memset(v4, 0, sizeof(v4)); sub_1400011B0("Input : ", argv, envp); sub_140001210("%256s", v4); if ( (unsigned int)sub_140001000(v4) ) puts("Correct"); else puts("Wrong"); return 0;} sub_140001000 조건을 확인해보자__int64 __fastcall sub_140001000(__int6..

[54] IT 비전공자 [dreamhack]basic_exploitation_003문제 풀기

주어진 정보를 바탕으로 Ubuntu 16.04에서 실행되는 32비트 바이너리의 보안 특성과 그 의미를 분석하겠습니다. ### 1. 시스템 정보 - **Ubuntu 16.04**:   - 사용 중인 운영 체제의 버전입니다. 16.04는 오래된 버전으로, 최신 보안 업데이트가 적용되지 않을 수 있습니다. ### 2. 아키텍처 정보 - **Arch: i386-32-little**:   - 이 바이너리는 32비트 아키텍처로 컴파일되었습니다.    - 32비트 아키텍처는 주소 공간이 4GB로 제한되며, 보안 공격에 대한 대응이 더 어려울 수 있습니다. ### 3. 보안 기능 - **RELRO: Partial RELRO**:   - RELRO( Read-Only Relocations)는 동적 연결된 라이브러리 함수..

[53] IT 비전공자 [dreamhack]out_of_bound문제 풀기

후후 딱봐도 스택오버플로우 문제군 (하지만 풀 줄은 모르는..) ○ Out Of Bound(OOB)배열이나 리스트와 같은 데이터 구조에서 정의된 인덱스나 범위를 넘어선 위치에 접근하는 경우를 의미한다.즉, 배열의 범위를 벗어나는 참조라 하여 Out of Bound라고 부른다.예를 들어보자. char command[10]이 있다고 하자. command[idx]을 조회하는 과정에서 idx를 10으로 입력하면 어떻게 될까? command[10]을 참조하는 상황이 발생한다. command[10]은 idx가 0~9만 존재한다. 하지만 9를 벗어나는 10을 참조하게 된다.즉, command[10]의 영역을 벗어나는 메모리를 참조하게 된다.이렇게 개발자가 의도하지 않은 메모리 영역을 참조하는 취약점을 Out of B..

[52] IT 비전공자 [dreamhack]simple_sqli_chatgpt문제 풀기

소스코드를 보자 #!/usr/bin/python3from flask import Flask, request, render_template, gimport sqlite3import osimport binasciiapp = Flask(__name__)app.secret_key = os.urandom(32)try: FLAG = open('./flag.txt', 'r').read()except: FLAG = '[**FLAG**]'DATABASE = "database.db"if os.path.exists(DATABASE) == False: db = sqlite3.connect(DATABASE) db.execute('create table users(userid char(100), userpa..

[51] IT 비전공자 [dreamhack]rev-basic-6문제 풀기

51번째 문제는 rev-basic!! 반가운 친구~!        int __fastcall main(int argc, const char **argv, const char **envp){ char v4[256]; // [rsp+20h] [rbp-118h] BYREF memset(v4, 0, sizeof(v4)); sub_1400011B0("Input : ", argv, envp); sub_140001210("%256s", v4); if ( (unsigned int)sub_140001000(v4) ) puts("Correct"); else puts("Wrong"); return 0;} 편안 해졌죠?    이 `main` 함수를 분석해 보겠습니다. 이 함수에는 몇몇 함수 호출과 버퍼..

[50] IT 비전공자 [dreamhack]php-1문제 풀기

50번째 문제!!!!! php 가보자!!!    **LFI (Local File Inclusion)**는 웹 애플리케이션의 보안 취약점 중 하나로, 사용자가 서버의 로컬 파일을 불법적으로 읽을 수 있는 취약점입니다. **LFI 공격**은 주로 웹 애플리케이션에서 파일 경로를 사용자 입력으로 받아들일 때 적절한 검증 없이 이를 처리하는 경우 발생합니다. 공격자가 이를 악용하면 서버의 중요한 정보에 접근하거나, 심지어 악성 코드를 실행할 수도 있습니다. ### LFI 동작 방식 LFI 취약점은 일반적으로 다음과 같은 방식으로 동작합니다: 1. 웹 애플리케이션이 사용자로부터 특정 파일 경로를 입력받아 해당 파일의 내용을 출력합니다. 2. 파일 경로에 대한 제한이 없거나 제한이 부적절할 경우, 공격자는 파일 경..

[49] IT 비전공자 [dreamhack]XSS Filtering Bypass문제 풀기

50문제까지 벌써 한문제 남았다..시간 정말 빠르다..흘러가는 시간을 잡고싶지만 그저 하루하루 시간을 즐겁고 소중하게 보내는게 최선이다 오늘도 즐겁게 문제를 풀어보자!  **XSS Filtering Bypass** refers to techniques used to bypass security filters that are designed to prevent **Cross-Site Scripting (XSS)** attacks. XSS is a type of security vulnerability in which an attacker injects malicious scripts, typically JavaScript, into websites viewed by other users. The goal ..