Dreamhack/Dreamhack Wargame (Challenge) 179

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

[48] IT 비전공자 [dreamhack]proxy-1문제 풀기

10월의 마지막 주..겨울의 시작!  gpt:  **Raw Socket Sender**는 네트워크 소켓을 통해 데이터 패킷을 생성하고 전송하는 프로그램 또는 도구입니다. 이러한 소켓은 운영 체제의 일반적인 TCP/IP 스택을 우회하여 직접적으로 프로토콜 레벨에서 패킷을 조작할 수 있게 해줍니다. Raw socket을 사용하면 사용자 정의 프로토콜이나 특정 목적을 위해 데이터를 전송할 수 있습니다. ### 주요 기능 1. **패킷 생성 및 전송**:    - Raw socket을 사용하면 사용자가 직접 TCP, UDP 또는 ICMP 패킷을 생성하고 전송할 수 있습니다.    - 헤더와 데이터의 각 필드를 세밀하게 조정할 수 있어, 패킷의 세부 사항을 완벽하게 제어할 수 있습니다. 2. **프로토콜 분석**..

[47] IT 비전공자 [dreamhack]simple-ssti문제 풀기

날씨가 겨울이 온게 실감난다. 다들 감기 조심하시길..47번째 문제 가자~     지피티야지피티야 SSTL이 뭐야 GPT: SSTI (Server-Side Template Injection) 취약점은 웹 애플리케이션에서 서버 측 템플릿 엔진을 사용할 때 발생할 수 있는 보안 취약점입니다. 이 취약점은 악의적인 사용자가 템플릿에 악성 코드를 주입하여 서버에서 실행할 수 있게 하는 공격입니다. ### SSTI 취약점의 작동 원리 1. **템플릿 엔진**: 많은 웹 프레임워크는 HTML을 동적으로 생성하기 위해 템플릿 엔진을 사용합니다. 이러한 엔진은 사용자가 제공한 데이터를 템플릿에 삽입하여 최종 HTML을 생성합니다.   사용자가 제공한데이터 -> 템플릿에 삽입 -> HTML 최종 생성   2. **사용자..

[46] IT 비전공자 [dreamhack]rev-basic-4문제 풀기

벌써 10월도 끝나간다..시간이 정말 빠르다는걸 느낀다. 오늘도 후회없이 살아보자!                디컴파일러해보자!     주어진 C/C++ 코드의 main 함수는 사용자의 입력을 받고, 그 입력을 특정 함수로 검증하여 "Correct" 또는 "Wrong"을 출력하는 구조입니다. 각 부분을 자세히 분석하겠습니다.코드 분석1. 함수 서명 int __fastcall main(int argc, const char **argv, const char **envp)int: 함수가 정수를 반환함을 나타냅니다. 일반적으로 프로그램의 종료 상태를 나타냅니다.__fastcall: 호출 규약으로, 일부 인자를 레지스터를 통해 전달하여 성능을 향상시킵니다.argc: 명령줄 인자의 개수입니다.argv: 각 인자를 ..

[45] IT 비전공자 [dreamhack]Return Address Overwrite문제 풀기

소스코드다// Name: rao.c// Compile: gcc -o rao rao.c -fno-stack-protector -no-pie#include #include void init() { setvbuf(stdin, 0, 2, 0); setvbuf(stdout, 0, 2, 0);}void get_shell() { char *cmd = "/bin/sh"; char *args[] = {cmd, NULL}; execve(cmd, args, NULL);}int main() { char buf[0x28]; init(); printf("Input: "); scanf("%s", buf); return 0;}  주어진 C 코드 rao.c는 간단한 프로그램으로, 입력을 받아서 쉘을 실행하는 기능을 ..

[44] IT 비전공자 [dreamhack]rev-basic-2 문제 풀기

엇 ㅋㅋ 생각해보니 풀이자 많은 순으로 문제를 풀다보니까 거꾸로 순서가 될 때도 있네이게 더 재밌다!  꿀팁 하나 찾았다..https://hyemzzzy.tistory.com/110 [x32dbg/x64dbg] 레지스터 창 없어져서 30분 동안 바보같이 찾았는데 어이없게 찾은 1초 해결방법x32dbg / x64dbg 레지스터 창 없어졌을 때 찾는 방법 / 창 숨기기 서론 갑자기 리버싱 공부하려고 x32dbg 동적 디버깅 툴 사용하던 리버싱 초짜는 갑자기 레지스터창이 없어져서 당황하게 된다.... 30분hyemzzzy.tistory.com          gpt: 이 코드는 C/C++에서 작성된 프로그램의 main 함수로 보이며, 다음과 같은 기능을 수행합니다. 각 부분을 자세히 설명해 드리겠습니다.코드 ..

[43] IT 비전공자 [dreamhack]basic_exploitation_001 문제 풀기

https://jhyuxxk.tistory.com/22 DreamHack 1단계 basic_exploitation_001DreamHack 1단계 basic_exploitation_001 문제를 풀어보겠다. 위 그림에서 NX 보호 기법이 활성화 되어있음에 따라 쉘 코드가 실행되지 않다는 것을 알 수 있다. main 함수 : buf 에 0x80만큼 사이즈가 할당되는jhyuxxk.tistory.comhttps://velog.io/@silvergun8291/Dreamhack-basicexploitation001 [Dreamhack] basic_exploitation_001문제 소스코드를 출력해보면gets() 함수로 크기에 제한 없이 입력을 받고 있기 때문에 버퍼 오버플로우 공격이 가능합니다.read_flag()..

[42] IT 비전공자 [dreamhack]rev-basic-3 문제 풀기

하하하 42번째 문제 가보기전에   dreamhack Reverse Engineering Fundamental Roadmap 수강했다.처음 문제 풀때는 뭔말인지 하나도 몰라서 포기하고 문제 풀었는데그래도 이번에 한번 다시보면 이해되지않을까 수강했다. 그래도 60%는 이해된다!!(뿌듯) 아래에는 내가 혼자 공부하다가 필요한거랑 gpt한테 물어본거 정리했다 아 혹시나 드림핵 수업 정보를 여기다가 정리하면 저작권 문제되는지는 정확히 모르겠다문제가 있다면 내리겠습니다!  범용 레지스터 🧺범용 레지스터는 주용도는 있으나, 그 외 임의의 용도로도 사용될 수 있는 레지스터입니다. x86-64에서 각각의 범용 레지스터는 8바이트를 저장할 수 있으며, 부호 없는 정수를 기준으로 2^64 - 1까지 나타낼 수 있습니다...

[41] IT 비전공자 [dreamhack]image-storage문제 풀기

후후 41번째 문제..과연 무슨 문제가..?     php PHP는 웹사이트에 회원가입을 할 때 아이디 검사, 주소 검색, 비밀번호 유효성 검사 등의 행위를 실행하도록 만들어주는 역할을 합니다. 조금 더 자세히 설명드리자면 동적인 웹페이지를 만들기 위해 설계가 된 언어입니다.         흠 파일 업로드 취약점을 이용해 flag를 획득해라는건...하나도 모르겠다 (먼산) 이럴땐 우리 gpt를 불러보자 나: php로 작성된 파일 저장 서비스에서 파일 업로드 취약점이 뭐가 있어? gpt: PHP로 작성된 파일 저장 서비스에서 발생할 수 있는 파일 업로드 취약점은 여러 가지가 있으며, 이들 취약점은 보안에 심각한 위협을 줄 수 있습니다. 주요 취약점은 다음과 같습니다:1. 파일 확장자 검증 실패서버가 사용자..

[40] IT 비전공자 [dreamhack]csrf-2문제 풀기

하아아아앗 csrf-2 40번째 문제 가봅시다!!!              하지만 guest 로그인 후 flag 페이지에서 스크립트를 입력해도 good 창만 뜨고 입력 받은거에 뭐 뜨는 페이지가 없다memo...memo 페이지 어디갔어...  뭔가 여기까지 시도 후 생각한건  1. memo페이지가 아마 admin으로 로그인하면 생기지않을까 2. 그래서 flag페이지에서 입력 후 그게 화면으로 출력되서 보이지않을까 라는 가설.  소스코드 보러가자! #!/usr/bin/python3from flask import Flask, request, render_template, make_response, redirect, url_forfrom selenium import webdriverfrom selenium.w..