워게임 93

[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..

[77] IT 비전공자 [dreamhack][wargame.kr] tmitter문제 풀기

홈페이지에 들어가보자            admin으로 아이디를 새로 생성하고 로그인해야 flag를 볼 수 있는데 이를 어떻게 우회하면 좋을까앙 개발자(f12)도구로 스크립트를 먼저 보자   IDat least 4char PSat least 7char  힌트가 있다! 어드민이랑 쪼인해야해요..함께...     DB mysql sql문에서 char, varchar타입의 자료형의 취약점을 이용한 문제다char()는 고정 문자열이고varcahr()는 가변성 문자열이다 이렇게 말하면 어려우니 우리 친절한 지피티한테 설명해달라해보자      CHAR와 VARCHAR는 데이터베이스에서 문자열 데이터를 저장하기 위한 데이터 타입이며, 주로 길이와 저장 방식의 차이에서 다릅니다.1. 약어 의미C..

[75] IT 비전공자 [dreamhack]SingleByteXor문제 풀기

한번 궁금해서 지피티한테 물어봤는데...지피티는...신인가..?   # Let's decrypt the given ciphertext using XOR brute force for single-byte key# Given hexadecimal ciphertexthex_cipher = "54586b6458754f7b215c7c75424f21634f744275517d6d"# Convert the hex string to bytescipher_bytes = bytes.fromhex(hex_cipher)# Brute force single-byte XOR keyspossible_flags = []for key in range(256): # Single byte keys range from 0 to 255 ..

[73] IT 비전공자 [dreamhack]File Vulnerability Advanced for linux문제 풀기

### **API란?** **API (Application Programming Interface)**는 소프트웨어 간의 **통신**이나 **데이터 교환**을 가능하게 하는 **인터페이스**를 의미합니다. 간단히 말하면, 서로 다른 프로그램이 "소통"할 수 있도록 도와주는 일종의 규칙이나 도구입니다. --- ### **API의 주요 목적** 1. **데이터 접근 및 교환**:    - 다른 애플리케이션이나 시스템이 데이터를 요청하거나 제공할 수 있도록 지원합니다.    - 예: 날씨 앱이 기상청의 API를 사용해 날씨 데이터를 가져옵니다. 2. **기능 제공**:    - 복잡한 작업이나 서비스를 재사용할 수 있게 합니다.    - 예: 결제 시스템에서 PayPal API를 사용하면 직접 결제 시스템을 ..

[72] IT 비전공자 [dreamhack]Secure Mail문제 풀기

ㄹㄹㄹㄹ뤼벌씽~ 오랜만~~푸는거 제일 복잡하고 어려운데 제일 재밌음 ㅋㅋ답을 찾기위해 거꾸로 가는 여정이 즐거운 것 같다내가 왔던 길을, 거꾸로, 다시 내가 간 길을 찾기위해서     _0x9a220를 찾아 자세히 보자 스크립트 내부의 _0x9a220 함수를 보면,if 문에 의해 잘못된 값이 들어오면 alert 창을 띄운 후 return 되는 것이 보인다.이를 넘어가야 document에 무언가를 써주는데, 이것이 flag일 것 같다.코드를 분석하기보단, 6자리 생년월일이라는 제한이 있기 때문에브루트포싱이 빠르다고 판단되어 콘솔에 직접 코드를 쳤다.출처ㅣ https://velog.io/@c01dbr0th3r/DreamHack-Secure-Mail  brute force는 영어 뜻 그래로다 짐승같은 힘즉 비..

[71] IT 비전공자 [dreamhack] Basic_Forensics_1문제 풀기

포렌식...첫 포렌식 문제다 ㄷㄱㄷㄱㄷㄱ떨린다..캬    포렌식 문제를 풀기전 스테가노그래피에 대해 먼저 알아보자.   **스테가노그래피 (Steganography)**는 정보를 숨기거나 숨긴 메시지를 전송하는 기술입니다. "스테가노그래피"라는 단어는 그리스어에서 유래했으며, "steganos"(덮개)와 "grapho" (쓰다)의 결합으로, 직역하면 "덮개에 쓰기"라는 의미를 가지고 있습니다. 즉, **스테가노그래피는 메시지를 눈에 띄지 않게 숨기는 기술**입니다. ### 스테가노그래피의 목적 스테가노그래피의 주요 목적은 숨겨진 정보를 누군가에게 전송하면서 그 정보의 존재를 감추는 것입니다. 일반적으로, 사람이나 시스템이 전송된 정보의 존재를 인식할 수 없도록 하는 것이 핵심입니다. 이는 암호화(Encr..

[70] IT 비전공자 [dreamhack] baby-union문제 풀기

첫번째 문제 푼게 엊그제 같은데 벌써 70번째 문제다30일만 지나면 100번째 문제,하루에 한문제씩이지만, 그 하루가 쌓여 모인다.내일의 나는 또 얼마나 성장해있을까시간을 멈출 수 없다면, 시간의 흐름을 즐기고, 나아가자 오늘도, 즐기자         app.py 파일 소스코드다 import osfrom flask import Flask, request, render_templatefrom flask_mysqldb import MySQLapp = Flask(__name__)app.config['MYSQL_HOST'] = os.environ.get('MYSQL_HOST', 'localhost')app.config['MYSQL_USER'] = os.environ.get('MYSQL_USER', 'user')..

[68] IT 비전공자 [dreamhack][wargame.kr] strcmp문제 풀기

" . $FLAG .""; exit(); } else { echo "Wrong password.."; } }?> password : view-source do not brute force! 브루트포스는 막혔다.   `strcmp` 함수는 두 문자열을 비교하는 함수로, 두 문자열이 동일한지 여부를 비교하는 데 사용됩니다. `strcmp`는 **대소문자 구분** 및 **길이가 다른 경우**를 처리하며, 두 문자열이 완전히 동일하면 0을 반환합니다. 그런데 `strcmp` 함수는 **문자열이 일치할 때까지 비교를 진행하는 방식**이기 때문에 일부 취약점이 있을 수 있습니다. ### 취약점 분석 PHP의 `strcmp` 함수는 **정확..

[67] IT 비전공자 [dreamhack][wargame.kr] login filtering문제 풀기

get source 클릭했더니 php스크립트가 떴다 "; echo "FLAG : ".$FLAG; } }else{ echo "wrong.."; } }?>IDPW get source 이 PHP 코드는 사용자 로그인 정보를 처리하고, 특정 조건에 맞는 사용자가 로그인 시 **`$FLAG`**를 출력하는 시스템입니다. 이 코드에서의 핵심은 로그인 시 **`id`**와 **`ps`**를 이용해 데이터베이스에서 정보를 조회하는 부분과, 로그인 후 특정 계정이 차단되어 있는 경우입니다. 아래에 분석과 함께 플래그를 볼 수 있는 방법을 설명하겠습니다. ### 코드 분석 1. **`$_GET['view-source']`**:    - URL에 `?view-source` 파라미터가 포함되어 있으면 현재 파..