Yozzang의 해킹일기 💻
article thumbnail
쿠키 & 세션
Web 2022. 4. 1. 12:16

이번 포스트에서는 쿠키와 세션의 정의, 특징, 차이점 등에 대해 다뤄보도록 하겠습니다. 쿠키 쿠키의 개념: 쿠키(cookie)는 HTTP의 일종으로 사용자가 어떠한 웹 사이트를 방문할 때 발생하는 여러 가지 정보를 브라우저에 저장하는 임시 저장 파일입니다. HTTP에서 클라이언트의 상태 정보를 클라이언트의 PC에 저장하였다가 필요할 때 그 정보를 참조하거나 재사용할 수 있습니다. 따라서 쿠키는 클라이언트 측의 정보라고도 할 수 있습니다. 대표적인 쿠키의 예시느 바로 "자동 로그인"이라 할 수 있습니다. 사용자는 어떠한 웹 사이트를 방문할 때 자동 로그인 기능을 선택하면, 자신의 로그인 정보를 쿠키에 담아 브라우저에 저장하다가 나중에 웹 사이트를 재방문할 때 그 쿠키에 담긴 정보로 로그인하여 서버에 정보를..

article thumbnail
C-S Algorithm
Computer Graphics 2022. 3. 31. 14:14

이번 포스트에서는 Cohen-Sutherland(C-S) 알고리즘에 다뤄보겠습니다. 우선 C-S 알고리즘에 어디에서 쓰이는지, 왜 쓰이는지에 대해 소개하겠습니다. Cohen-Sutherland Algorithm C-S 알고리즘은 Clipping Algorithm 중의 하나며 2차원 공간을 9개의 영역으로 나누고 화면에서 사용자에게 보여주는 화면 부분을 정해주는 알고리즘입니다. C-S 알고리즘은 먼저 다음의 기준으로 영역을 나눕니다. 1 : Top (위쪽) 2 : Bottom (아래쪽) 3 : Right (오른쪽) 4 : Left (왼쪽) 이 기준을 4-Bit region outcodes이라고 하며, 실제 화면에서 적용하면 다음과 같은 결과를 얻어낼 수 있습니다. "1001"을 예시로 들자면, 현재 "00..

article thumbnail
Filling Polygons (다각형 내부 채우기 알고리즘)
Computer Graphics 2022. 3. 30. 15:07

이번 포스트에서는 Filling Polygons Algorithm(다각형 내부 채우기 알고리즘)에 대해서 다루도록 하겠습니다. 먼저 다각형의 3가지 형태에 대해 소개하겠습니다. Simple Convex (단순 볼록형) Simple Concave (단순 오목형) Non-simple(self-intersection) (비단순-자기교차형) 다각형을 그릴 때 발생할 수 있는 대표적인 오류가 바로 "double-fill"입니다. double-fill란 무엇인가? double-fill은 말그대로 두 번 채웠다는 의미입니다. 즉, 인접하는 다각형을 채울 때 그 인접하는 변이 서로 겹쳐 색을 두번 칠하게 되는 상황을 말합니다. 이는 비효율적이면서도 만약 두 다각형의 색상이 다르다면 이상한 색이 색칠될 수도 있습니다. ..

article thumbnail
Scan Conversion (스캔 변환)
Computer Graphics 2022. 3. 29. 19:10

이번 포스트에서는 컴퓨터 그래픽스의 Scan Conversion의 여러 기법에 대해 다루고자 합니다. Scan Conversion이란? Scan Conversion, 우리나라 말로 "주사 변환"은 연속적인 그래픽스 기본 객체를 픽셀의 모음으로 표현하는 프로세스입니다. 즉, 쉽게 말해 아날로그 형태의 어떠한 도형을 디지털 형태의 도형으로 바꿔주는 프로세스라고 생각하면 됩니다. 그러면 우리는 위와 같은 Scan Conversion을 어떻게 해야지 가능하게 할 수 있을까? 바로 Scan Conversion Algorithm을 통해서 할 수 있습니다. 오늘은 그중 "Scan Converting Lines"와 "Scan Converting Circles"의 알고리즘에 대해 다룰 예정입니다. 그러나 Scan Con..

article thumbnail
M1 기반 맥북 에어 가상머신(UTM) 및 우분투(Ubuntu) 설치

이번 포스트에서는 M1 기반 맥북 에어의 가상머신 설치 방법과 우분투 설치 방법을 다루겠습니다. M1 기반 맥북에어를 쓰신 분들은 아시겠지만 맥북 에어 m1은 "아직은" VMWare와 Oracle의 Virtual Box를 지원하지 않습니다. 하지만 Mac 전용 가상머신인 Paralles가 있으나 가격이 너무 비싸서 선뜻 결제하지 못하는 분들(저 포함)도 많이 계실 거라 생각합니다. 따라서 오늘은 그런 분들을 위해 새로운 가상머신을 소개하고자 합니다. 바로 "UTM"이라는 녀석입니다. UTM란 무엇인가? 먼저 UTM에 대해 간단하게 소개하자면, UTM은 QEMU 하이퍼바이저를 이용하여 iOS에서 x86을 비롯한 여러 환경의 에뮬레이션을 가능하게 하는 무료, 오픈소스 프로그램이다. UTM Securely r..

article thumbnail
Random scan & Raster scan
Computer Graphics 2022. 3. 27. 02:11

이번 포스트에서는 컴퓨터 그래픽스(Computer Graphics) 중의 Random scan displays와 Raster scan displays 기술에 대해서 다뤄보겠습니다. Random scan displays 랜덤 스캔 디스플레이 (Random Scan Display)는 아날로그 방식으로 출력하는 방식입니다. 랜덤 스캔 디스플레이에서 전자 빔은 화면에 그림을 표시하거나 그려야하는 화면 영역만 향합니다. 한 번에 한 줄씩 그림을 표시하므로 벡터 표시(Vector Display)라고도 부릅니다. 또한 그림을 그리거나 화면에 표시하기 위해 시스템은 일련의 명령을 거쳐 차례대로로 그려나가는 특징이 있으며, 특별히 정해진 순서가 없으며 선을 새로 고칠 수가 있습니다. Raster Scan Displays..

article thumbnail
[Python] 프로그램 실행 제어
Python 2022. 3. 26. 02:47

이번 포스트에서는 파이썬의 프로그램 실행 제어에 대해서 다뤄보도록 하겠습니다. 프로그램 실행 제어란 무엇인가? 파이썬의 프로그램 실행 제어는 프로그램 실행 중간의 다양한 상황에 따라 다른 기능을 수행할 수 있도록 구성된 것입니다. 대표적인 예시로는 조건식(conditional expression), 조건문(conditional statement), 반복문(while-loop, for-loop), 예외처리가 있습니다. 기본적으로 조건식을 만들기 위해서 필요한 것이 바로 연산자라는 것입니다. 다음은 조건식 관련 연산자들을 정리해놓은 표입니다. 연산자의 분류 연산자 의미 관계 연산자 (relationship) > a > b : a가 b보다 크면 True, 아니면 False >= a >= b : a가 b보다 같..

article thumbnail
HTTP 상태 코드 (HTTP Status Code)
Web 2022. 3. 25. 15:29

오늘은 간략하게 http 상태 코드에 대해서 공부해보겠습니다. HTTP 상태 코드란 무엇인가? 클라이언트(일반적으로 우리의 컴퓨터를 뜻함)는 서버와 통신을 하기 위해서 HTTP 요청을 보내야 한다. 즉 우리는 "www.naver.com" 라는 웹 페이지에 접속할 때 우리의 컴퓨터가 네이버의 서버에게 "야, 나 네이버 페이지에 접속하고 싶어!"라는 요청 메시지를 보낸다. 그러면 네이버의 서버는 우리가 보낸 요청을 받고 회신을 주겠죠? 이러한 회신을 좀 더 전문적인 용어로 표현하자면 바로 HTTP 상태 코드입니다. 우리는 서버가 회신해준 HTTP 상태 코드를 통해서 우리가 보낸 요청이 잘 받아들였는지 여부를 알 수 있습니다. 즉 요청의 성공 또는 실패 여부를 판단할 수 있습니다. 이러한 상태 코드는 다음 표..

article thumbnail
심 스와핑(SIM Swapping) 공격 및 대응방안
Hacking Issue 2022. 2. 19. 10:07

'2021년 1611건, 총 피해액 6800만 달러(한화 약 810억 원), 지난 3년 동안의 신고건보다 5배 이상 증가', '2021년 12월 23일 국내 첫 심 스와핑 피해자 발생', '트위터 CEO도 털렸다'... 오늘은 최근에 이슈가 되고 있는 심 스와핑(SIM Swapping) 해킹 사건에 관해서 다뤄보도록 하겠습니다. 먼저 심 스와핑을 설명하기 앞서, 심 클로닝에 대해서 간단히 소개하고 넘어가겠습니다. 심 클로닝(SIM Cloning) 심 클로닝은 말 그대로 심을 클론, 즉 복제한다는 말입니다. 여기서의 심은 유니버셜 심(Universal SIM), 유심칩을 의미합니다. 쉽게 말해 스마트폰에 꽂혀있는 '통신카드'라고 보면 됩니다. 만약 공격자(해커)가 하나의 유심칩을 준비해서 거기에다가 피해자..

article thumbnail
[DreamHack 워게임] Mango 풀이
Wargame/DreamHack 2022. 2. 7. 20:42

오늘은 DreamHacker의 웹 해킹 워게임 중 하나인 Mango를 함께 풀어볼 예정입니다. Mango Description 이 문제는 데이터베이스에 저장된 플래그를 획득하는 문제입니다. 플래그는 admin 계정의 비밀번호 입니다. 플래그의 형식은 DH{...} 입니다. {'uid': 'admin', 'upw': 'DH{32alphanumeric}'} Reference Serv dreamhack.io 문제 정보를 살펴보면 플래그는 admin 계정의 비밀번호라고 합니다. 또한 해당 문제의 이름을 통해서 MangoDB를 사용한다는 것도 추측해낼 수 있습니다. 워게임 사이트에 접속해 보면 아래와 같이 uid와 upw의 정보가 담긴 페이지가 로딩될 겁니다. 이어서 소스코드를 분석해보겠습니다. 9번째 코드를 보..