본문 바로가기

전체 글

(169)
RSA 암호 알고리즘 RSA 암호 알고리즘 공개키 암호시스템의 하나 다양한 분야에서 가장 보편적으로 사용되는 암호 알고리즘이다. 아주 큰 두 소수의 곱으로 이루어진 합성수를 인수분해하기 어렵다는 인수분해 문제의 어려움에 기반한 안전성을 가진다! 많은 데이터를 여러 번 암호화해야 하는 네트워크 통신에서는 잘 사용되지 않는다. (많은 연산을 필요로 하기 때문) RSA 암호 알고리즘은 두 개의 키를 사용한다. - 공개키 (Public Key) - 개인키 (Private Key) 공개키는 모든 사용자에게 공개되며, 평문을 암호화할 때 사용한다. 개인키는 타인에게 노출되어서는 안 되며, 공개키로 암호화된 암호문을 복호화할 때 사용한다. 오일러 정리 서로소인 양의 정수 m이 아래의 식을 만족한다는 정리 오일러 파이 함수 (Euler's..
[ctf-d] 이벤트 예약 웹사이트를 운영하고... #C [ctf-d] 이벤트 예약 웹사이트를 운영하고... #C 리버스 쉘에 대한 공격자 주소를 찾아야 한다. #A에서 찾은 TCP 연결 흔적을 보면 목적지 IP가 144.206.162.21로 지정된 것을 확인할 수 있었다. 이 IP 주소가 공격자 주소일 것이라고 생각했다. 성공!
[ctf-d] 이벤트 예약 웹사이트를 운영하고... #B [ctf-d] 이벤트 예약 웹사이트를 운영하고... #B 리버스쉘을 동작시키는 프로세스 ID를 찾아야 한다. #A에서 의심스러웠던 파일 경로로 찾았을 때 php 명령어를 사용하는 PID 5245가 생각났다. 성공!
[ctf-d] 이벤트 예약 웹사이트를 운영하고... #A [ctf-d] 이벤트 예약 웹사이트를 운영하고... #A Key format: yyyy-MM-dd_hh:mm:ss 문제 파일을 보면 다양한 폴더가 있다. 파일을 쭉 봤다. history chmod 명령어로 권한이 모두 부여된 경로가 하나 보인다. 조금 의심스럽다... lsof 위에서 포착한 경로를 lsof 파일에서 검색해보니 www-data 사용자가 보인다. ps_eaf ps_eaf 파일에서 경로를 검색해보았다. php 명령어를 사용하는 걸 알 수 있음 PID 5245 lsof 위에서 알아낸 PID 5245를 검색해보았다. 쭉 보다보니 TCP 연결 흔적 발견 ip 주소를 찾을 수 있음 목적지 ip 144.206.162.21 access.log 경로로 파일을 살펴보았다. 처음에 /image /editor/..
[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) - 임의의 인자에 대한 함수 값은 쉽게 계산할 수 있지만, 함수 값으로부터 함수의 인자를 알아내기 어..
[CryptoHack] ASCII [CryptoHack] ASCII 리스트에 있는 숫자를 아스키 문자로 변환하여 플래그를 찾는 문제다. 숫자를 아스키로 변환하는 파이썬 코드를 작성하였다. chr() 함수를 이용하면 쉽게 바꿀 수 있음 a = [99, 114, 121, 112, 116, 111, 123, 65, 83, 67, 73, 73, 95, 112, 114, 49, 110, 116, 52, 98, 108, 51, 125] for aa in a: print(chr(aa), end='') 플래그 획득! crypto{ASCII_pr1nt4bl3}
[ctf-d] splitted [ctf-d] splitted 문제 파일이 압축 파일 형식 압축 파일을 보니까 pcap 파일이 있었다. 압축을 풀고 NetworkMiner로 pcap 파일을 열어보았다. 딱 봐도 수상한 flag라는 이름의 파일이 여럿 있다. 폴더를 열어서 확인을 해봤다. 다 1kb의 용량이고 압축 파일 안에 아무것도 없는데 flag[8]과 flag[17]만 4kb 용량으로 안에 psd 파일이 있었다. 찾아보니 psd 파일은 어도비 포토샵의 기본 파일 포맷이라고 한다. 그래서 해당 파일을 포토샵으로 열어봤다. 아무 것도 안 보인다 투명한 배경 위에 뭐가 있는 것 같아서 흰색 바탕 부분을 가려주었다. 플래그 등장! MMA{sneak_spy_sisters} 성공!