본문 바로가기

Dreamhack

(14)
[Web Hacking] STAGE 9 보호되어 있는 글입니다.
[Web Hacking] STAGE 8 보호되어 있는 글입니다.
[Web Hacking] STAGE 7 보호되어 있는 글입니다.
[Cryptography] STAGE 6 STAGE 6 전자 서명 (Digital Signature) - 서명: 행위자가 자신의 신원을 표기하려고 사용 - 전자 서명: 서명을 암호학적으로 구현한 것 - 공개키 암호가 만들어지며 만들어짐 - 1978년 RSA 암호 알고리즘이 만들어지면서 전자 서명이 사용되기 시작 - 메시지의 무결성과 부인 방지를 위해 사용 전자 서명 알고리즘 - 개인키로 서명을 생성 → 서명키 (Signing Key) - 공개키로 서명에 대한 검증 진행 → 검증키 (Verification Key) 서명과 검증 - 서명 작성 (Signing): 메시지를 서명키로 암호화하는 과정 - 서명 검증 (Verification): 서명을 검증키로 복호화하고 받은 메시지와 비교하는 과정 - RSA와 반대 과정으로 이루어짐 해시 함수를 이용한 ..
[Web Hacking] STAGE 6 STAGE 6 simple_sqli 이 문제는 로그인 서비스로 SQL INJECTION 취약점을 통해 플래그를 획득할 수 있다. 플래그는 flag.txt, FLAG 변수에 있다고 힌트를 주고 있음 문제 파일로 Python 파일이 주어졌다. #!/usr/bin/python3 from flask import Flask, request, render_template, g import sqlite3 import os import binascii app = Flask(__name__) app.secret_key = os.urandom(32) try: FLAG = open('./flag.txt', 'r').read() except: FLAG = '[**FLAG**]' DATABASE = "database.db" i..
[Cryptography] STAGE 5 STAGE 5 해시 해시 함수 (Hash Function) - 임의 크기의 데이터를 입력 받아 고정된 크기의 데이터를 반환하는 함수 - 해시 값 (Hash Value): 해시 함수의 반환 값 암호학적 해시 함수 (Cryptographic Hash Function) - 해시 함수 중에서 특정 성질을 만족하는 함수 1) 제 1 역상 저항성 (Preimage Resistance) 2) 제 2 역상 저항성 (Second Preimage Resistance) 3) 충돌 저항성 (Collision Resistance) 4) 눈사태 효과 (Avanlanche Effect) 일방향함수 (One-way Function) - 임의의 인자에 대한 함수 값은 쉽게 계산할 수 있지만, 함수 값으로부터 함수의 인자를 알아내기 어..
[Cryptography] STAGE 4 STAGE 4 1) Diffie-Hellman 대칭키 암호 - 수신자와 송신자가 같은 키를 공유하고 있다는 전제 필요 - 데이터 교환 전에 키 교환이 이루어져야 함 - 대칭키 암호의 안전성은 키에서 비롯 - 공개된 채널을 통해 키를 교환해도 외부인은 키를 알 수 없게 하는 공개 키 교환 알고리즘 고안 수학적 원리 및 키 교환 절차 생략 Diffie-Hellman에 대한 중간자 공격 - 네트워크로 통신하는 두 주체가 서로 신원을 확인하기 어렵다는 특성을 이용한 공격 - 수동적 공격: 공격자가 통신에 개입하지 않음 (일반적으로 네트워크에서 발생하는 공격) - 능동적 공격: 공격자가 통신에 직접 개입 - 공격자는 둘 사이에 오가는 정보를 모두 알 수 있으며, 필요하면 이를 변조할 수도 있음 >> 취약점 - 서..
[Cryptography] STAGE 3 [Cryptography] STAGE 3 1) AES AES (Advanced Encryption Standard) - 2001년에 새롭게 표준으로 선정된 블록 암호 알고리즘 - Vincent Rijmen, Joan Daemen이 제안한 Rijndael 구조 - 기밀성을 위협하는 치명적인 취약점이 발견되지 않음 - 현대에는 대칭키 암호 알고리즘을 사용할 때, 일반적으로 AES 사용 SPN (Substitution Permutation Network) - 곱 암호의 일종 - S-Box를 사용하는 치환(Substitution)과 P-Box를 사용하는 순열(Permutation)을 여러 라운드에 걸쳐 반복 - 페이스텔 구조와 달리 라운드마다 입력 전체에 라운드 함수를 적용 - 같은 수의 라운드를 사용할 때 S..