티오리 104

[88] IT 비전공자 [dreamhack]Snowing!문제 풀기

snow.jpeg파일이다 flag.txt 파일 DH{fake_snow} 내용과 같이 있었다  스테카노그래피인가 싶어서 열심히 사진을 뒤져봤다                                                                                                                       JPEG 파일의 **시그니처(파일 매직 넘버)**와 **푸티(파일 꼬리, Footy)**에 대해 설명드릴게요.1. JPEG 파일 시그니처JPEG 파일은 파일의 시작 부분에 고유한 매직 넘버를 포함하고 있어, 이를 통해 파일의 종류를 식별할 수 있습니다.JPEG 매직 넘버 (Hex 값):시작 부분 (Header): FF D8 FF파일의 첫 세 바이트는 항상 *..

[87] IT 비전공자 [dreamhack]basic_heap_overflow문제 풀기

탄핵안이 잘 표결되길 바라며 오늘도 즐겁게 문제를 풀어보자           APP.JS 파일 소스코드다 var express = require('express');var app = express();var bodyParser = require('body-parser');var mongoose = require('mongoose');var path = require('path');// Connect to MongoDBvar db = mongoose.connection;db.on('error', console.error);db.once('open', function(){ console.log("Connected to mongod server");});mongo..

[86] IT 비전공자 [dreamhack]basic_heap_overflow문제 풀기

소스코드보러가자  이 결과는 파일 바이너리의 보안 설정 및 실행 환경을 분석한 결과입니다. 각각의 항목은 컴파일 옵션 및 바이너리 보안 강화와 관련된 정보를 제공합니다. 아래에서 하나씩 자세히 설명하겠습니다.1. Arch: i386-32-little의미:바이너리가 **32비트 아키텍처(i386)**용으로 컴파일되었음을 의미합니다.little-endian 형식을 사용하여 데이터를 저장하고 처리.Little-endian: 낮은 바이트가 메모리의 낮은 주소에 저장.영향:현대 시스템은 대부분 64비트 아키텍처를 사용하지만, 32비트 바이너리도 여전히 실행 가능.익스플로잇을 시도할 때 메모리 레이아웃 및 주소 계산에서 32비트임을 고려해야 함.2. RELRO: No RELRORELRO (Relocation Rea..

[85] IT 비전공자 [dreamhack]random-test문제 풀기

소스코드다#!/usr/bin/python3from flask import Flask, request, render_templateimport stringimport randomapp = Flask(__name__)try: FLAG = open("./flag.txt", "r").read() # flag is here!except: FLAG = "[**FLAG**]"rand_str = ""alphanumeric = string.ascii_lowercase + string.digitsfor i in range(4): rand_str += str(random.choice(alphanumeric))rand_num = random.randint(100, 200)@app.route("/",..

[83] IT 비전공자 [dreamhack]BypassIF문제 풀기

소스코드 보러가자  #!/usr/bin/env python3import subprocessfrom flask import Flask, request, render_template, redirect, url_forimport stringimport osimport hashlibapp = Flask(__name__)try: FLAG = open("./flag.txt", "r").read()except: FLAG = "[**FLAG**]"KEY = hashlib.md5(FLAG.encode()).hexdigest()guest_key = hashlib.md5(b"guest").hexdigest()# filteringdef filter_cmd(cmd): alphabet = list(string.a..

[82] IT 비전공자 [dreamhack]memory_leakage문제 풀기

이 정보는 Ubuntu 16.04 환경에서 실행 중인 바이너리(binary)의 보안 속성과 메모리 구조를 분석한 결과입니다. 아래에 각 항목의 의미와 보안에 미치는 영향을 설명하겠습니다.1. Arch: i386-32-little설명:바이너리는 **32비트 아키텍처(i386)**에서 실행되며, 리틀 엔디안(Little Endian) 형식으로 데이터를 저장.리틀 엔디안: 데이터의 가장 낮은 바이트가 메모리의 가장 낮은 주소에 저장되는 형식.영향:32비트 아키텍처에서는 메모리 주소 범위가 4GB로 제한되며, 보안 기능도 64비트보다 덜 강력.리틀 엔디안은 대부분의 x86 프로세서에서 기본적으로 사용.2. RELRO (Relocation Read-Only)설명:RELRO는 실행 시점에 재배치 가능한 데이터(예:..

[81] IT 비전공자 [dreamhack]NoSQL-CouchDB문제 풀기

COUCHDB가 뭐야? 나 오라클이랑 MYSQL이랑 저거 뭐냐 NOSQL중에 레디스? 그거밖에 모른ㄴ데 CouchDB는 Apache 소프트웨어 재단에서 개발한 NoSQL 데이터베이스 중 하나로, JSON 기반의 데이터를 저장하고, HTTP를 통해 데이터를 처리 및 조회하는 기능을 제공합니다. CouchDB는 다른 NoSQL 데이터베이스들과 차별화된 몇 가지 특징을 가지고 있습니다.CouchDB의 주요 특징문서 지향(Document-Oriented):CouchDB는 데이터를 문서(document) 단위로 관리합니다.각 문서는 JSON 형식으로 저장되며, 키-값 쌍의 구조를 가집니다.SQL 데이터베이스의 테이블과 행 대신, 독립적인 JSON 문서를 사용하여 데이터를 유연하게 저장.HTTP/RESTful AP..

[79] IT 비전공자 [dreamhack]out of money문제 풀기

돈...돈 창조하는 방법 저도 알려줘요...돈..돈이 늘 문제야 ㅠ  시가가 행사가격보다 오히려 떨어져서 행사하는 것이 오히려 손해인 경우를 out of the money 또는 underwater라고 함.   app.py 소스코드 from flask import Flask, session, redirect, url_for, request, render_templatefrom threading import Threadfrom util import get_price, deposit, liquidateapp = Flask(__name__)app.secret_key = "[REDACTED]"@app.route("/", methods=['GET', 'POST'])def main(): if request.me..

[78] IT 비전공자 [dreamhack]Simple Crack Me문제 풀기

기드라 이용 방법인데 ida를 사용했다 헤헤 프로그램 파일을 받아 디컴파일러하면 이런 소스코드가 뜬다 // positive sp value has been detected, the output may be wrong!void __fastcall __noreturn start(__int64 a1, __int64 a2, int a3){ __int64 v3; // rax int v4; // esi __int64 v5; // [rsp-8h] [rbp-8h] BYREF _UNKNOWN *retaddr; // [rsp+0h] [rbp+0h] BYREF v4 = v5; v5 = v3; sub_402E10((unsigned int)sub_401AD5, v4, (unsigned int)&retaddr, 0,..