비전공자
-
HTTP 메세지란 무엇인가CS지식/네트워크 2021. 5. 24. 23:11
HTTP메세지는 HTTP를 통해 통신하는 클라이언트와 서버 사이에서 주고받는 데이터의 블록들이다. HTTP메세지는 클라이언트가 서버에게 보내는 요청 메세지와 서버가 클라이언트로 보내는 응답 메세지가 있다. 메세지는 시작줄, 헤더 블록, 본문 세 부분으로 이루어진다. 시작줄은 해당 메세지가 어떤 메세지인지 간략하게 서술하고 헤더 블록은 메세지의 속성을 말해주고 본문은 보내고자하는 데이터를 가지고 있고 생략이 가능하다. 요청 메시지의 형식은 응답 메시지의 형식은 으로 이루어져 있다. 각 부분에 대해 자세히 알아보자. - 메서드 메서드는 클라이언트 측에서 서버가 어떠한 동작을 해주기를 원하는지 알려주는 것이다. 대표적으로 사용되는 메서드는 아래의 표와 같다. - 요청 URL 요청 대상이 되는 리소스를 지정한 ..
-
데이터베이스란 무엇인가(With 기초가 튼튼한 데이터베이스)CS지식/데이터베이스 2021. 5. 23. 22:56
지난(5월 15일) KOCW에서 백현미 교수님의 강의를 완강하고 오늘부터는 조금 더 개념을 확실히 잡고 심화된 학습을 진행하기 위해 도서관에서 여러 책을 비교한 후 한 책을 선택했다. 책의 이름은 기초가 튼튼한 데이터베이스이다. 이 책을 고르기 전에 '개발자와 DBA를 위한 Real MySQL'라는 책으로 공부하려 했으나 내용이 너무 어려워서 조금 더 이해하기 쉬운 책을 찾게 되었다. 나의 목표는 하루에 한 장(종이 한 장이 아니라 목차에서 의미하는 장, 약 30~40페이지 정도)를 목표로 하고 이전 방식처럼 네트워크, 운영체제, 데이터베이스를 하루에 한 과목씩 로테이션으로 공부할 것이다. 데이터베이스를 공부하기 위해서는 데이터베이스가 정확히 무엇인지를 집고 넘어가야겠다는 생각을 했다. 데이터베이스를 간..
-
인터럽트(Interrupts)란 무엇인가(공룡책 공부 시작!!)CS지식/운영체제 2021. 5. 22. 22:21
지난(5월 18일) 반효경 교수님의 운영체제 강의를 완강하고 오늘부터는 강의를 통해 배운 내용을 다시 정리하고 추가적으로 더 공부하기 위해 운영체제의 바이블이라고 불리는 공룡책을 빌려서 공부를 시작했다. 나의 목표는 하루에 한 장(종이 한 장이 아니라 목차에서 의미하는 장, 약 50페이지 정도)를 목표로 하고 이전 방식처럼 네트워크, 운영체제, 데이터베이스를 하루에 한 과목씩 로테이션으로 공부할 것이다. 인터럽트라는 것은 무엇이고 무슨 역할을 할까? 우리는 실행 중인 프로그램을 프로세스라고 배웠다. 프로세스 중에는 디스크에서 정보를 읽거나 쓰는 일을 수행하기도 하고 키보드를 통해 입력을 원하기도 하고 모니터에 화면을 띄우는 일도 원하기도 한다. 이러한 경우에 프로세스가 I/O장치(키보드, 마우스 ,모니터..
-
11일차 - 웹 공격 기술 (2)CS지식/네트워크 2021. 5. 17. 22:51
1. 강제 브라우징 (Forced Browsing) 강제 브라우징은 웹 서버의 디렉토리에 있는 파일 중에서 공개 의도가 없는 파일이 열람되게 되어 공격에 노출되는 것입니다. 즉, 공격자가 공격 코드로 직접 공격하거나 함정을 걸어두어 정보를 빼내는 것이 아니라 웹 서버를 잘못 설정하거나 설계하여 발생하는 문제이다. 강제 브라우징으로 인해 다음과 같은 악영향을 받는다. - 고객 정보 등 중요 정보 누설 - 접근 권한이 있는 사용자에게만 표시하지 않는 정보 누설 - 링크되지 않은 파일 누설 공개하고 싶지 않은 파일의 URL을 숨기는 보안 대책을 사용하고 있는 경우, 해당 URL을 알게 되면 파일을 볼 수 있게 된다. 2. 세션 하이잭 (Session Hijack) 세션 하이잭은 공격자가 유저의 세션 ID를 입..
-
14일차 - File System ImplementaionCS지식/운영체제 2021. 5. 16. 22:06
지난 시간에는 file의 접근방법에 대해 알아보았다. 이번에는 disk에 file이 어떻게 저장되는지에 대해 배웠고 여러 방법에 대한 장점과 단점에 대해 알 수 있었다. 1. Contiguous Allocation 디스크에 file을 저장하는 방법 중 하나인 contiguous allocation으로 말그대로 연속적으로 할당을 하는 것이다. 여기서, 먼저 알아두어야 할 개념은 disk에 file이 올라갈 때에는 통째로 올라가는 것이 아니라 disk를 일정한 크기의 sector로 나누고 file을 분할하여 올리는 것이다. 논리적 메모리에서 물리적 메모리로 올릴 때 paging기법에서 page와 비슷한 관점으로 보면 된다. 이렇게 동일한 크기의 sector가 하나의 disk에 여러 개가 존재하고 file이 ..
-
10일차 - 웹 공격 기술 (1)CS지식/네트워크 2021. 5. 14. 20:25
1. 웹 애플리케이션에 대한 공격 패턴 웹 애플이레케이션을 공격하는 패턴은 크게 능동적 공격과 수동적 공격으로 나뉜다. 각각 자세히 알아보자. 1) 능동적 공격 (active attack) 능동적 공격은 공격자가 직접 웹 애플리케이션에 접근하여 공격을 하는 것이다. 대표적인 공격으로는 SQL 인젝션과 OS 커맨트 인젝션 등이 있다. 2) 수동적 공격 (passive attack) 수동적 공격은 함정을 이용해 유저가 공격 코드를 실행시키도록 하는 공격이다. 이 경우에는 공격자가 직접 웹 애플리케이션에 접근할 필요가 없다. 대표적인 수동적 공격으로는 크로스 사이트 스크립팅(XSS), 크로스 리퀘스트 포저리(CSRF) 등이 있다. 수동적 공격을 이용한다면 인트라넷(특정 단체의 소속자만 사용하는 인터넷 환경) ..
-
13일차 - File SystemCS지식/운영체제 2021. 5. 13. 22:41
지난 시간에는 물리적 메모리에 접근하기 위한 주소변환과 메모리의 공간을 선점하는 방법에 대해 알아보았다. 오늘은 file에 대해 배웠다. 메모리는 주소를 통해 접근하지만 file은 이름을 통해 접근하는게 큰 차이점인 것같다. 1. File과 File System 먼저, file을 정의해보면 서로 관련있는 정보의 집합에 이름을 지어 놓은 것이다. 위에서 말했듯이 file은 이름을 통해 접근하므로 file마다 이름이 존재해야한다. 일반적으로 file은 비휘발성의 보조기억장치에 저장되고 create, read, write, reposition, delete, open, close등의 연산작업이 가능하다. file system은 운영체제에서 파일을 관리하는 부분으로 파일 및 파일의 메타데이터, 디렉토리 정보 등..
-
12일차 - SQL (데이터 조작, DML) (1)CS지식/데이터베이스 2021. 5. 12. 20:47
오늘은 저번 시간에 이어 SQL의 종류 중 하나인 데이터조작기능을 하는 DML에 대해 배웠다. 오늘은 DML 중 데이터 검색을 하는 SELECT에 대해서만 배웠는데 내용이 상당히 많아 이해하는데 시간이 좀 걸렸다. 1. SQL 데이터 조작 기능 SQL에서 데이터를 조작하기 위해서는 DML을 사용하면 된다. 데이터 조작 기능으로는 데이터 검색, 새로운 데이터 삽입, 데이터 수정, 데이터 삭제가 있다. 오늘은 데이터 검색을 하는 SELECT에 대해 자세히 알아보고자 한다. 2. 데이터 검색 : SELECT문 (1) 기본검색 먼저, 기본적으로 사용되는 데이터 검색에 대해 알아보자. SELECT [ALL|DISTINCT]속성_리스트 FROM 테이블_리스트 ; SELECT키워드와 함께 검색하고 싶은 속성의 이름을..