[Dreamhack] file-download-1 File Download 취약점이 존재하는 웹 서비스입니다. flag.py를 다운로드 받으면 플래그를 획득할 수 있습니다. # 접속 - Home Navigation Bar에 Home과 Upload My Memo가 링크로 걸려있음을 확인할 수 있음 메모를 추가할 경우 Home에서 바로 확인이 가능한 형태이며 해당 메모를 클릭하면 내용을 볼 수 있음 - upload 파일의 이름과 내용을 작성하여 메모를 추가할 수 있는 페이지 - read upload했던 메모를 확인할 수 있음 url을 확인했을 시 get parameter로 파일 이름을 이용하고 있음 # 코드 확인 - app.py 파일을 upload하는 부분에서는 find 함수를 통해 ".."을 필터링하고 있..
[Bandit] Level 4 → Level 5 Bandit: https://overthewire.org/wargames/bandit/bandit5.html 1. Level Goal 다음 단계로 넘어가기 위한 비밀번호는 "inhere" 디렉토리 안에 오직 사람만 읽을 수 있는(human-readable) 파일 형태로 저장되어 있다 2. Commands you may need to solve this level ls cd cat file du find 3. 개념 정리 및 풀이 방법 file 명령어 *(asterisk) 활용: 현재 경로의 모든 파일을 의미하는 "./*"을 사용하면 현재 디렉토리 내 모든 파일에 대해 file 명령어를 실행할 수 있다 file 명령어의 사용에 대해서는 앞에서 정리했으므로 생략..
[Bandit] Level 3 → Level 4 Bandit: https://overthewire.org/wargames/bandit/bandit4.html 1. Level Goal 다음 단계로 넘어가기 위한 비밀번호는 inhere directory안에 숨은 파일로 저장되어 있다 2. Commands you may need to solve this level ls cd cat file du find 3. 개념 정리 및 풀이 방법 ls 명령어 옵션 -a: .으로 시작하는 요소를 무시하지 않음 -a 옵션을 사용하면 숨은 파일을 확인할 수 있다 문제 풀이 환경: Linux Ubuntu 18.04 현재 사용자의 위치는 home 디렉토리이므로 ls 명령어를 통해 inhere 디렉토리가 존재함을 확인한다 cd(ch..
[Bandit] Level 2 → Level 3 Bandit: https://overthewire.org/wargames/bandit/bandit3.html 1. Level Goal 다음 단계로 넘어가기 위한 비밀번호는 "spaces in this filename"이라는 이름을 가지며 홈디렉토리 안에 위치하고 있다 2. Commands you may need to solve this level ls cd cat file du find 💡 Helpful reading material: Google Search for "spaces in filename" 3. 개념 정리 및 풀이 방법 ls 명령어 및 cat 명령어는 이전 단계에서 정리했으므로 생략한다 [Bandit] Level 0 → Level 1 [Ban..
[Bandit] Level 1 → Level 2 Bandit : https://overthewire.org/wargames/bandit/bandit2.html 1. Level Goal 다음 Level을 위한 password는 home directory 안에 '-'라고 불리는 파일 안에 저장되어 있다 2. Commands you may need to solve this level ls cd cat file du find 💡 Helpful reading material: Google Search for "dashed filename" 3. 개념 정리 및 풀이 방법 ls 명령어 및 cat 명령어는 앞 단계에서 정리했으므로 생략한다. [Bandit] Level 0 → Level 1 [Bandit] Level 0..
[Dreamhack] 고전 암호 # 서론 고전 암호: 컴퓨터와 같이 고성능 연산 장치가 발명되기 전에, 비교적 간단하게 기계와 손 등으로 암복호화를 수행하던 암호를 말한다. 대부분 컴퓨터를 사용하면 쉽게 복호화되기 때문에 현대에는 사용되지 않는다. 고전 암호의 분류 # 단일 문자 치환 암호 단일 문자 치환 암호(Monoalphabetic Substitution): 평문의 각 문자를 약속된 다른 문자로 치환하는 암호이다. 복호화를 위해 치환의 대응 관계는 일대일 대응이다. 평문의 'A'가 암호문의 'B'로 치환된다면, 평문의 다른 어떤 문자도 'B'로 치환되지 않는다. 1. 카이사르 암호 카이사르 암호: 평문의 각 알파벳을 일정한 거리만큼 밀어서 다른 알파벳으로 치환한다. 이를 복호화할 때는 암호문의 각 ..
[Dreamhack] Cryptography Introduction # 암호학 좁은 의미에서 제 삼자로부터 정보를 보호하는 방법에 대한 연구이다. 핵심 연구 주제: 키 생성(Key Generation), 암호화(Encryption), 복호화(Decryption) 키 생성: 암호화 및 복호화에 사용할 키를 만드는 과정이다. 암호화: 키를 이용해 평문(Plaintext)을 암호문(Ciphertext)으로 변환하는 과정이다. 복호화: 송신자가 암호문을 전송하면 수신자는 키를 이용해 암호문을 평문으로 복호화한다. 암호 시스템(Cryptosystem): 암호화와 복호화로 정보가 전달되는 체계이다. 💡 암호화와 인코딩 인코딩(Encoding): 암호화와 유사하게 데이터를 다른 형태로 변환하는 것이다. 데이터의 기밀..
Best of the Best 11기 최종 합격 후기 - 인적성/필기시험/면접 KITRI BOB 11기에 합격하고 프로젝트까지 끝낸 시점에 오랜만에 notion을 정리하다 BOB 서류전형에 합격하고 준비했던 내용들이 많이 보여 준비했던 과정 및 후기를 정리해보고자 합니다 :) 우선 필기시험에 합격했다면 인적성 검사 → 필기시험 → 면접 순으로 2차 선발이 진행됩니다. 1. 인적성 검사 우선 인적성 검사 같은 경우 공채나 다른 기관 프로그램 참여 시에 응시해보신 분들은 가볍게 생각하실 수도 있지만 처음 보는 사람이라면 사람인을 통해 인적성 검사의 분위기를 느껴보시길 바랍니다! 저 같은 경우에는 첫 인적성 검사였기에 짧은 시간 안에 빠르게 판단하여 답을 골라야 하는 시험의 느낌이 처음에는 어렵게 다가왔던 것..
[Android] Custom Binary Blocked by FRP Lock 해결하기 프로젝트 진행 중 팀원의 핸드폰으로 rooting 과정을 다시 정리하고자 캡쳐하던 와중에 OEM 잠금해제 설정을 건들여 Custom Binary Blocked by FRP Lock에 빠져버렸다.. 이를 복구했던 기록을 남기고자 한다(펌웨어 구하는데만 3일 걸렸다 :)... 이 사이트는 널리널리 퍼져야 한다고 생각한다) 1. 펌웨어 업데이트 다운로드 아래 사이트에서 다운로드 받을 수 있으며 Samsung Firmware Easy Tool을 통해 손쉽게 펌웨어를 추출할 수 있다. 원본 펌웨어 G960NKSU5FVA2 - Galaxy S9 · SM-G960N / LUC 펌웨어 버전 G960NKSU5FVA2 - Samsung..
[Android] ADB와 연결된 Device가 unauthorized 라고 표시될 때 해결 방법 분석하고자 하는 앱이 nox에서는 실행 전 종료되는 상황이 발생해 실제 핸드폰을 연결하여 분석하고자 할 때 다음과 같은 에러가 발생해 이에 대한 해결법을 정리하려고 한다. 에러 메시지는 다음과 같다 adb.exe: device unauthorized This adb server's $ADB_VENDOR_KEYS is not set Try 'adb kill-server' if that seems wrong. Otherwise check for a confirmation dialog on your device. 실제로 터미널에서 "adb devices" 명령어를 사용해보면 연결된 스마트폰에 대해 상태가 devi..