풀이 134

[58] IT 비전공자 [dreamhack]command-injection-chatgpt문제 풀기

오랜만에 웹문제~~!!신나게 풀어보자구     이제 소스코드를 보러가볼게요  #!/usr/bin/env python3import subprocessfrom flask import Flask, request, render_template, redirectfrom flag import FLAGAPP = Flask(__name__)@APP.route('/')def index(): return render_template('index.html')@APP.route('/ping', methods=['GET', 'POST'])def ping(): if request.method == 'POST': host = request.form.get('host') cmd = f'ping -..

[57] IT 비전공자 [dreamhack]oneshot문제 풀기

원샷. 커피 샷 추가..? (껄껄)   Here’s a breakdown of the security protections for **Ubuntu 16.04** with the configuration you provided: 1. **Arch: amd64-64-little**: This is the architecture, indicating a 64-bit system using little-endian byte order. 2. **RELRO: Partial RELRO**: Partially enabled "Relocation Read-Only" protection. This makes certain sections of the process read-only but doesn’t fully pro..

[56] IT 비전공자 [dreamhack]error based sql injection문제 풀기

하하핫 가보자구 Error based sql injection이란 에러를 발생시켜서 데이터베이스 및 운영 체제의 정보를 획득하는 공격 기법으로, 데이터베이스가 반환하는 에러 메시지를 이용해 공격자가 데이터베이스 구조, 쿼리 결과 등을 알아내는 방법으로 에러 메시지를 자세히 반환하는 경우에 효과적이다.       소스코드나 보러가자.. CREATE DATABASE IF NOT EXISTS `users`;GRANT ALL PRIVILEGES ON users.* TO 'dbuser'@'localhost' IDENTIFIED BY 'dbpass';USE `users`;CREATE TABLE user( idx int auto_increment primary key, uid varchar(128) not nul..

[55] IT 비전공자 [dreamhack]rev-basic-8문제 풀기

55번째 문제 가보자고!                int __fastcall main(int argc, const char **argv, const char **envp){ char v4[256]; // [rsp+20h] [rbp-118h] BYREF memset(v4, 0, sizeof(v4)); sub_1400011B0("Input : ", argv, envp); sub_140001210("%256s", v4); if ( (unsigned int)sub_140001000(v4) ) puts("Correct"); else puts("Wrong"); return 0;} sub_140001000 조건을 확인해보자__int64 __fastcall sub_140001000(__int6..

[54] IT 비전공자 [dreamhack]basic_exploitation_003문제 풀기

주어진 정보를 바탕으로 Ubuntu 16.04에서 실행되는 32비트 바이너리의 보안 특성과 그 의미를 분석하겠습니다. ### 1. 시스템 정보 - **Ubuntu 16.04**:   - 사용 중인 운영 체제의 버전입니다. 16.04는 오래된 버전으로, 최신 보안 업데이트가 적용되지 않을 수 있습니다. ### 2. 아키텍처 정보 - **Arch: i386-32-little**:   - 이 바이너리는 32비트 아키텍처로 컴파일되었습니다.    - 32비트 아키텍처는 주소 공간이 4GB로 제한되며, 보안 공격에 대한 대응이 더 어려울 수 있습니다. ### 3. 보안 기능 - **RELRO: Partial RELRO**:   - RELRO( Read-Only Relocations)는 동적 연결된 라이브러리 함수..

[53] IT 비전공자 [dreamhack]out_of_bound문제 풀기

후후 딱봐도 스택오버플로우 문제군 (하지만 풀 줄은 모르는..) ○ Out Of Bound(OOB)배열이나 리스트와 같은 데이터 구조에서 정의된 인덱스나 범위를 넘어선 위치에 접근하는 경우를 의미한다.즉, 배열의 범위를 벗어나는 참조라 하여 Out of Bound라고 부른다.예를 들어보자. char command[10]이 있다고 하자. command[idx]을 조회하는 과정에서 idx를 10으로 입력하면 어떻게 될까? command[10]을 참조하는 상황이 발생한다. command[10]은 idx가 0~9만 존재한다. 하지만 9를 벗어나는 10을 참조하게 된다.즉, command[10]의 영역을 벗어나는 메모리를 참조하게 된다.이렇게 개발자가 의도하지 않은 메모리 영역을 참조하는 취약점을 Out of B..

[52] IT 비전공자 [dreamhack]simple_sqli_chatgpt문제 풀기

소스코드를 보자 #!/usr/bin/python3from flask import Flask, request, render_template, gimport sqlite3import osimport binasciiapp = Flask(__name__)app.secret_key = os.urandom(32)try: FLAG = open('./flag.txt', 'r').read()except: FLAG = '[**FLAG**]'DATABASE = "database.db"if os.path.exists(DATABASE) == False: db = sqlite3.connect(DATABASE) db.execute('create table users(userid char(100), userpa..

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