Dreamhack/Dreamhack Wargame (Challenge) 179

[39] IT 비전공자 [dreamhack]csrf-1문제 풀기

39번째 문제 가보자  forgery=위조 **CSRF (Cross-Site Request Forgery)**는 웹 보안 취약점 중 하나로, 악의적인 웹사이트가 사용자의 브라우저를 이용해 사용자가 의도하지 않은 행동을 하도록 유도하는 공격입니다. 사용자가 로그인된 상태의 웹사이트에서 악성 요청이 발생하게 하여 중요한 데이터에 접근하거나 조작하게 만드는 방식입니다.CSRF의 작동 원리사용자 인증: 사용자가 특정 웹사이트(예: 은행 웹사이트)에 로그인하여 인증된 상태입니다. 이때, 브라우저는 세션 쿠키를 저장하여 사용자의 인증 정보를 유지합니다.악성 웹사이트 방문: 사용자가 다른 악성 웹사이트를 방문하게 됩니다. 이 웹사이트에는 CSRF 공격을 위한 악성 스크립트나 링크가 포함되어 있습니다.악성 요청 생성:..

[38] IT 비전공자 [dreamhack]xss-2문제 풀기

38번째 문제 가보자구 WEB 문제다 https://imaginefuture-1.tistory.com/38 [36] IT 비전공자 [dreamhack]xss-1문제 풀기36번째 문제 가보자고!  XSS(교차 사이트 스크립팅, Cross-Site Scripting) 취약점은 공격자가 악성 스크립트를 웹 페이지에 삽입하여 다른 사용자의 브라우저에서 실행되도록 하는 공격 imaginefuture-1.tistory.comxxs-1에 이은 xxs-2 문제다   홈페이지는 외관상 똑같다.     소스코드나 보자...#!/usr/bin/python3from flask import Flask, request, render_templatefrom selenium import webdriverfrom selenium.we..

[37] IT 비전공자 [dreamhack]simple_sqli문제 풀기

37번째 문제 갑시다!    지피티야 sql injection이 모야  **SQL Injection(인젝션)**은 웹 애플리케이션의 보안 취약점 중 하나로, **사용자 입력을 제대로 검증하지 않고 SQL 쿼리문에 포함시킬 때 발생**합니다. 이를 통해 공격자는 **데이터베이스에 직접적으로 악의적인 SQL 문을 삽입**하여 데이터를 무단으로 조회하거나 조작하는 등의 공격을 할 수 있습니다. 이 취약점은 데이터베이스에 대한 직접적인 접근 권한 없이도 웹 애플리케이션의 취약한 입력 필드를 통해 다양한 공격을 실행할 수 있게 만듭니다. **로그인 우회**, **데이터 유출**, **데이터 수정 및 삭제**, **권한 상승** 등 다양한 형태로 피해를 입힐 수 있습니다. ### SQL Injection의 기본 원..

[36] IT 비전공자 [dreamhack]xss-1문제 풀기

36번째 문제 가보자고!  XSS(교차 사이트 스크립팅, Cross-Site Scripting) 취약점은 공격자가 악성 스크립트를 웹 페이지에 삽입하여 다른 사용자의 브라우저에서 실행되도록 하는 공격 기법입니다. XSS는 주로 다음과 같은 세 가지 유형으로 분류됩니다: 1. **저장형 XSS (Stored XSS)**:    - 악성 스크립트가 서버에 저장되어 다른 사용자에게 전달됩니다. 예를 들어, 사용자 입력을 검증하지 않고 데이터베이스에 저장하는 경우 발생할 수 있습니다. 이후 이 데이터가 웹 페이지에서 렌더링될 때, 스크립트가 실행됩니다. 2. **반사형 XSS (Reflected XSS)**:    - 공격자가 악성 링크를 클릭하도록 유도하면, 해당 링크가 요청된 페이지에 악성 스크립트가 포함됩..

[35] IT 비전공자 [dreamhack]session-basic문제 풀기

35번째 문제 가자~~    소스코드를 보자 #!/usr/bin/python3from flask import Flask, request, render_template, make_response, redirect, url_forapp = Flask(__name__)try: FLAG = open('./flag.txt', 'r').read()except: FLAG = '[**FLAG**]'users = { 'guest': 'guest', 'user': 'user1234', 'admin': FLAG}# this is our session storagesession_storage = {}@app.route('/')def index(): session_id = request.cook..

[34] IT 비전공자 [dreamhack]Broken Password문제 풀기

34번째 문제 가보자구! ghidra로 이용해서 디컴파일했다 undefined8 main(void){ int iVar1; long in_FS_OFFSET; undefined8 *local_48; undefined8 local_40; char local_38 [40]; long local_10; local_10 = *(long *)(in_FS_OFFSET + 0x28); proc_init(); iVar1 = open("/dev/urandom",0); read(iVar1,password,8); close(iVar1); puts("can u guess me?"); sleep(0); read_input(local_38,0x20); iVar1 = strncmp(password,loc..

[33] IT 비전공자 [dreamhack]Path Finder문제 풀기

33번째 문제다 가보자굿    IDA(Interactive DisAssembler)는 리버스 엔지니어링 및 맬웨어 분석 분야에서 널리 사용되는 강력한 디스어셈블러 및 디버거입니다.IDA 개요분해 :IDA는 바이너리 파일(실행 파일, DLL 등)을 어셈블리 언어 코드로 변환합니다. 이를 통해 사용자는 프로그램이 저수준에서 어떻게 작동하는지 분석할 수 있습니다.여러 아키텍처(x86, x64, ARM, MIPS 등)를 지원하므로 다양한 유형의 바이너리를 분석하는 데 다재다능합니다.그래픽 사용자 인터페이스(GUI) :IDA는 사용자가 분해된 코드를 쉽게 탐색할 수 있는 대화형 GUI를 제공합니다.사용자는 제어 흐름 그래프(CFG)를 보고 프로그램 논리의 흐름을 이해할 수 있습니다.Hex-Rays 디컴파일러 :I..

[32] IT 비전공자 [dreamhack] whatsdifferent문제 풀기

32번째 문제다. whatsdifferent?   지피티야지피티야! `FF` 파일과 `FS` 파일은 다양한 맥락에서 다르게 사용될 수 있지만, 일반적으로 컴퓨터 시스템이나 소프트웨어에서 의미가 다릅니다. 아래에 몇 가지 가능한 의미를 정리해 보겠습니다: ### 1. **FF 파일** - **FF (File Format)**:   - "FF"는 여러 파일 형식을 의미할 수 있으며, 특정 소프트웨어에서 사용하는 특정 파일 형식으로 해석될 수 있습니다.    - **Flash File**:   - Adobe Flash 관련 파일일 수 있으며, `.ff` 확장자를 가진 파일이 Adobe Flash 콘텐츠를 포함할 수 있습니다.  - **Fast-Forward**:   - 미디어 파일에서 자주 사용되는 용어로, ..

[31] IT 비전공자 [dreamhack] addition-quiz문제 풀기

31번째 문제 가보자구! 앗 무서운 그 이름 pwntools...분명 저번에 우분투 설정 문제 이슈로 아마 pwntools 설치가 안됐던걸로 기억나는데...하... (먼산) 일단 문제 코드를 보자  // Name: chall.c// Compile Option: gcc chall.c -o chall -fno-stack-protector#include #include #include #include #include #include #define FLAG_SIZE 0x45void alarm_handler() { puts("TIME OUT"); exit(1);}void initialize() { setvbuf(stdin, NULL, _IONBF, 0); setvbuf(stdout, NULL..

[30] IT 비전공자 [dreamhack]file-special-bit문제 풀기

와 벌써 30번째 문제네요...한달! 시간 정말 빠르네요!! 문제 풀어볼게요!!  SSH란 Secure SHell의 약자로써 네트워크상의 다른 컴퓨터에 로그인하여 명령을 실행하고 정보를 보고 받을수 있도록 해 주는 통신 프로토콜 우분투 가보자고~    소스코드입니다 //Name: chall.c//Compile: gcc chall.c -o chall -no-pie -fno-stack-protector#include #include #include #include int main(int argc, char *argv[]){ if(argc == 2){ char filename[10]; char cmd[20]; int ..