분류 전체보기
-
[정보보안기사] OS(Operating System, 운영체제)란Certificate/정보보안기사 2022. 9. 14. 19:02
1. 운영체제의 정의 - 컴퓨터의 하드웨어와 소프트웨어의 자원들을 효율적으로 관리하는 환경을 제공하여 사용자가 컴퓨터를 편리하고 효과적으로 사용할 수 있도록 하는 소프트웨어이다. 2. 운영체제의 목적 - 처리 능력 향상 - 신뢰성 향상 - 응답시간 단축 - 자원 활용률 향상 - 가용성 향상 3. 운영체제의 자원 관리 기능 - 운영체제의 가장 핵심적인 기능은 자원을 효율적으로 관리하는 것 - 프로세스 관리 : 프로세스에게 자원 할당 및 스케줄링 관리 - 프로세서 관리 : 프로세스에 프로세서 할당 - 메모리 관리 : 메모리 할당 및 회수 관리 - 파일 관리 : 파일의 생성과 삭제, 변경, 유지 등 관리 - 입출력 관리 : 운영체제를 거친 후 입출력 장치에서 입출력 요청 수행 4. 운영체제의 종류 - 대표적인..
-
[Webhacking.kr] Challenge 1Wargame/Webhacking.kr 2022. 9. 14. 00:40
오늘부터 새로운 Wargame을 시작해보자. 작년에 html, css, js를 간단하게 책 한 권으로 독학했다. 공부한 지 오래되기도 했고, 얕게 공부했기 때문에 아마 많은 부분에서 부족할 것이다. 모르는 부분은 공부를 하면서 웹 해킹을 시도해보자. 우선 Challenge 1번이다. 문제가 참 깔끔하다. 검은 화면에는 문제에 대한 안내나 힌트 등이 아무것도 없다.. 그래도 view-source라는 문구에 하이퍼링크가 걸려 있는 것 같으니 클릭해보자. 문제 1번 웹 페이지의 소스 코드이다. 전체적으로 php로 작성이 된 듯하다. 아래 php 부분을 보면 COOKIE에서 user_lv의 값에 대한 설명이 있다. 숫자이면서, 4 미만, 3 초과일 시 solve가 된다고 한다. 그렇다면 cookie 값을 바꿔보..
-
[정보보안기사] CPU의 이해Certificate/정보보안기사 2022. 9. 13. 04:31
1. CPU(Central Processing Unit, 중앙처리장치)의 개념 - CPU란 시스템을 통제하고, 연산의 실행, 출력을 하는 일련의 과정을 제어 및 조정하는 핵심장치이다. 2. CPU의 구성요소 구성요소 상세 기능 ALU(Arithmetic Logic Unit, 산술 논리 장치) 산술연산과 논리연산 수행 Register(레지스터) CPU 내부의 데이터를 일시적으로 저장해두는 고속의 저장 공간 Control Unit(제어장치) 프로세서의 조작 지시, 입출력 장치를 제어하는 신호를 발생하는 장치 CPU에 대한 이해는 기본 개념과 구성요소만 알아보도록 하자. 더 깊게 파고들기에는 시험에 중요한 부분은 아니라고 생각한다.
-
[Python] chr, ord - 문자/Unicode 변환Programming/Python 2022. 9. 13. 03:51
chr, ord 함수에 대해 알아보자. 먼저 chr 함수는 정수를 문자로 변환한다. 기본적인 예로 사용하는 대문자 'A'의 경우 정수로 표현하면 65가 된다. 이것은 어떻게 지정된 것일까? 바로 ASCII 코드에서 정했던 128개(2^7개)의 문자의 번호이다. 다음으로 ord 함수는 문자를 정수로 변환한다. 아래 사진을 보면 이해할 수 있다. 처음 문자 'H'가 ord 함수에 의해 정수 72로 변환되고, 다시 정수 72가 chr 함수에 의해 문자 'H'로 변환된다. 그런데 이 글의 제목은 문자와 Unicode의 변환이다. 그렇다면 Unicode는 무엇일까? 초기의 표준인 ASCII 코드는 128개의 문자만을 표현한다는 한계가 있다. 그래서 Unicode를 만들어 전 세계의 문자들을 표현할 수 있도록 했다..
-
[Bandit] Level 33Wargame/Bandit 2022. 9. 13. 02:39
Level 33으로 가는 방법은 마지막 문제답게 새로운 개념이 필요하다. 우선 Level 32로 접속을 하면 WELCOME TO THE UPPERCASE SHELL이라는 문구가 반긴다. 명령어를 입력하면 아래의 사진처럼 대문자로 인식을 해 아무런 입력도 출력하지 못한다. 혹시나 힌트가 될까 싶어 다시 bandit31에서 bandit32에 대해 확인을 해봐도 접근이 불가하다. 다시 홈페이지에서 문제의 힌트로 돌아가 man sh를 입력해본다. 대문자로도 작동하는 명령어가 있는지 확인을 해보았지만 없다.. 이 문제는 어떻게 푸는지 감이 오지 않아 결국 구글링을 했다. 아래 사진을 보면 답의 명령은 간단하다. 그런데, 그 개념이 이해가 잘 가지 않는다. sh 매뉴얼을 살펴봐도 $와 0의 의미는 셸의 이름으로 확..
-
[Bandit] Level 32Wargame/Bandit 2022. 9. 12. 07:39
Level 32로 가기 위해서는 git 명령어의 새로운 기능을 사용할 줄 알아야 한다. 앞의 문제들과 마찬가지로 git clone으로 저장소를 복제한 다음 README.md 파일을 읽어본다. 이번에는 원격 저장소에 파일을 push 하라고 한다. 파일의 이름과 내용, branch에 대해서는 README.md 파일에 적혀있다. README.md 파일에 적혀있는 내용으로 key.txt 파일을 생성한다. 앞으로의 작업을 시작하기 전 현재 branch를 확인한다. 또, git remote 명령어로 원격 저장소를 확인한다. branch는 master, 원격 저장소는 origin인 것을 확인할 수 있다. git에서 push를 하는 과정은 세 단계로 진행된다. (git clone으로 원격 저장소를 복제해 왔을 때) 우..
-
[Python] split - 문자열 자르기Programming/Python 2022. 9. 12. 03:53
split 함수는 이름대로 나누는 함수이다. 자세히 말하자면 문자열을 지정한 규칙대로 나누어 리스트로 만들어 주는 함수이다. 1. split 함수 기본 사용 split 함수는 기본적으로 아무런 파라미터를 입력하지 않으면 공백을 기준으로 문자열을 나눈다. 아래 사진의 문자열을 보면 각 문자마다 띄어쓰기가 되어 있고, 이를 기준으로 리스트가 만들어졌다. 2. split 함수 - sep 파라미터 사용 split 함수의 sep 파라미터는 무엇을 기준으로 문자열을 나눌지를 정할 수 있게 한다. 기본값은 공백이기 때문에 지정하지 않으면 1번처럼 공백을 기준으로 문자열을 나눈다. split 함수의 () 안에 작은 따옴표로 기준이 될 문자를 적거나, sep 파라미터를 직접 작성해 사용한다. 아래 사진을 보면 '.'을 ..
-
[Bandit] Level 31Wargame/Bandit 2022. 9. 11. 05:31
Level 31로 가는 문제는 조금 수월하게 풀렸다. (추후 다른 명령어를 알게 되었다.) 우선, 역시 마찬가지로 git clone으로 저장소를 복사한다. 그 후 repo 디렉터리의 README.md 파일을 읽어보면 빈 파일이라고 한다. (웃음소리가 들리는 듯..) 앞의 문제들에서 했던 방법인 log나 branch를 살펴봐도 하나뿐이고, 다른 방법이 필요한 것 같다. 그래서 숨겨진 디렉터리인 .git의 여러 디렉터리들에 들어가며 많은 파일들을 읽어 보았다. 그 중 packed-refs 파일을 읽으니 secret이라고 하는 수상한 내용이 나타났다. 앞의 commit을 복사해 git show 명령어로 확인을 하니 비밀번호가 나타났다. 사실 이 문제는 숨겨진 branch를 찾는 것이라고 한다. (왜 답이 나왔..