Dreamhack 107

[74] IT 비전공자 [dreamhack]Apache htaccess문제 풀기

apache htaccess?    **.htaccess**는 Apache HTTP Server에서 웹 서버의 동작을 제어하기 위해 사용하는 디렉토리 수준의 구성 파일입니다. .htaccess는 특정 디렉토리에 위치하며, 그 디렉토리와 그 하위 디렉토리의 설정을 제어할 수 있습니다..htaccess 파일은 간단한 텍스트 파일로 작성되며, 다양한 설정과 규칙을 포함할 수 있습니다. 주로 사용되는 기능은 다음과 같습니다:1. URL 리다이렉션 및 리라이트URL 리다이렉션: 특정 URL을 다른 URL로 리다이렉트합니다.Redirect 301 /old-page.html http://example.com/new-page.htmlURL 리라이트: 사용자 친화적인 URL로 변경하거나 특정 URL 패턴을 다른 서버 경..

[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` 파라미터가 포함되어 있으면 현재 파..

[66] IT 비전공자 [dreamhack]off_by_one_001문제 풀기

이 정보는 **Ubuntu 16.04** 운영체제에서 특정 바이너리 파일의 보안 구성 상태를 나타냅니다. 각 보안 기능의 의미를 설명하겠습니다. ### 분석 1. **Arch: i386-32-little**    - **설명**: 바이너리가 **32비트 아키텍처**로 컴파일되었으며, **리틀 엔디안** 형식으로 데이터가 저장됩니다.    - **영향**: 32비트 아키텍처는 64비트에 비해 보안 및 주소 공간 보호가 제한적일 수 있습니다. 2. **RELRO: Partial RELRO**    - **설명**: **RELRO**(Relocation Read-Only)는 **프로그램의 특정 메모리 영역을 읽기 전용으로 설정하여 취약점을 악용하는 것을 어렵게 하는 보호 기법**입니다.    - **Parti..

[65] IT 비전공자 [dreamhack]cmd_center문제 풀기

소스코드다 #include #include #include #include void init() { setvbuf(stdin, 0, 2, 0); setvbuf(stdout, 0, 2, 0);}int main(){ char cmd_ip[256] = "ifconfig"; int dummy; char center_name[24]; init(); printf("Center name: "); read(0, center_name, 100); if( !strncmp(cmd_ip, "ifconfig", 8)) { system(cmd_ip); } else { printf("Something is wrong!\n"); } exit(0);} 이 프로그램의 코드를 분석하고, 잠재적으로 `cmd_ip` 명령을 수정하여 플래..