분류 전체보기(75)
-
DreamHack [crypto] Basic_Crypto 1
dreamhack crypto 난이도 1 첫번째 문제입니다.Roman emperor's cipher ==> 카이사르 암호 평문의 각 알파벳을 일정한 거리만큼 밀어서 다른 알파벳으로 치환하는 암호화 기법으로, 시저 암호라고도 부름.즉, 암호화를 할 때 평문을 n번씩 밀려서 암호화하는 방법.알파벳을 밀어낸 횟수를 key라고 하면, 알파벳은 총 26자 => 가능한 키의 개수는 26. 복호화 시작=~~~~~~ (서치했습니다^^;)출처: http://[Dreamhack] Basic_Crypto1.. : 네이버블로그 (naver.com) #caesar.c#define _CRT_SECURE_NO_WARNINGS#include #include #include int main(void) { char arr[501]; ..
2023.09.04 -
DreamHack [crypto] ROT128
암호학 워게임입니다.(암호학 최고!!!)소스코드#!/usr/bin/env python3hex_list = [(hex(i)[2:].zfill(2).upper()) for i in range(256)] #0~255 정수 값을 16진수 문자열로 변환한 뒤, 이를 두 자리로 맞추고 대문자로 바꾼 값을 list에 저장with open('flag.png', 'rb') as f: #flag파일을 이진모드로 열어서 파일 내용을 읽어옴 plain_s = f.read() #plain_s에 저장plain_list = [hex(i)[2:].zfill(2).upper() for i in plain_s] #plain_s에 저장된 바이트 값을 16진수 문자열로 변환한 뒤, 이를 두 자리로 맞추고 대문자로 바꾼 값을 l..
2023.08.31 -
DreamHack [web] command-injection-1
web 워게임입니다. ping 페이지 접속ip를 입력하면 ping을 보내는 형태 실패 pattern = " [A-Z a-z 0-9 .] {5, 20} "해당 패턴은 정규 표현식이다.알파벳 대소문자, 숫자, 마침표만으로 이루어진 길이가 5이상 20이하는 문자열을 의미한다. 그렇기에 ;와 같은 메타 문자는 요청한 형식과 일치하지 않는다는 문구가 뜨는 것임을 알 수 있다.
2023.08.30 -
command injection
injection: 악의적인 데이터를 프로그램에 입력하여 이를 시스템 명령어, 코드, 데이터베이스 쿼리 등으로 실행되게 하는 기법 command injection: 이용자의 입력을 시스템 명령어로 실행하게 하는 취약점 - 명령어를 실행하는 함수에 이용자가 임의의 인자를 전달할 수 있을 때 발생 - 리눅스 셸 프로그램이 지원하는 다양한 메타문자로 인해, 이용자의 입력을 제대로 검사하지 않으면 임의 명령어가 실행될 수 있다 메타문자 설명 ex ' ' 명령어 치환 ' ' 안에 들어있는 명령어를 실행한 결과로 치환 $ echo `echo theori`theori $() 명령어 치환 $() 안에 들어있는 명령어를 실행한 결과로 치환. 중복 사용 가능 ( echo $(echo $(echo theori)) ) $ e..
2023.08.30 -
computer architecture
숙력된 시스템 해커가 되기 위해선 단순히 알려진 기술을 습득하는 것에 그치지 않고 바탕이되는 컴퓨터 과학을 이해하기 위해 노력해야 한다. computer architecture: 컴퓨터가 효율적으로 작동할 수 있도록 하드웨어 및 소프트웨어의 기능을 고안하고, 이들을 구성하는 방법 ISA(instruction set architecture): CPU가 해석하는 명령어의 집합. IA-32, x86-64(x64), MIPS, AVR 등 general register: 주 용도는 있으나, 그 외의 용도로도 자유롭게 사용할 수 있는 레지스터 - 8바이트 이름 주용도 rax 함수의 반환 값 rbx x64에서는 주된 용도 없음 rcx 반복문의 반복 횟수, 각종 연산의 시행 횟수 rdx x64에서는 주된 용도 없음 r..
2023.08.29 -
DreamHack [web] cookie
dreamhack webhacking level1 문제입니다.login을 누르면 username과 password를 입력하게 되어있습니다. 문제파일 코드입니다.#!/usr/bin/python3from flask import Flask, request, render_template, make_response, redirect, url_forapp = Flask(__name__)try: FLAG = open('./flag.txt', 'r').read()except: FLAG = '[**FLAG**]'users = { 'guest': 'guest', 'admin': FLAG}@app.route('/')def index(): username = request.cookies.get('u..
2023.08.27