CS지식
-
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이 ..
-
13일차 - SQL (데이터 조작, DML) (2)CS지식/데이터베이스 2021. 5. 15. 22:36
오늘은 저번시간에 이어 데이터를 조작하는데 쓰이는 DML의 남은 부분에 대해 배웠다. 새로운 데이터 삽입과 데이터 수정, 데이터 삭제를 SQL을 통해 어떻게 하는지 알 수 있었다. 1. 데이터 삽입 : INSERT문 기존에 있는 테이블에 새로운 데이터를 삽입하고자 하려면 INSERT문을 사용하면 된다. INSERT INTO 테이블_이름[(속성리스트)] VALUES (속성값_리스트); INTO키워드와 함께 새로운 데이터를 삽입할 테이블의 이름과 속성의 이름을 입력하면 되고 삽입하고자하는 데이터는 VALUES 뒤에 입력하면 된다. 여기서 속성리스트는 생략이 가능하다. 만약 속성의 이름(속성리스트)를 생략한다면 테이블을 정의할 때 지정한 속성의 순서대로 값이 삽입된다. 예를 들어, 제품명, 단가, 수량을 속성..
-
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키워드와 함께 검색하고 싶은 속성의 이름을..
-
9일차 - 웹 콘텐츠에서 사용하는 기술CS지식/네트워크 2021. 5. 11. 23:16
오늘은 웹에서 다양한 콘텐츠를 보여주기 위해 사용되는 여러 기술들을 배웠다. 웹 페이지를 표현하기 위한 언어 뿐만 아니라 데이터 송신을 용이하게 하는 XML이라 JSON에 대해서도 알 수 있었다. 1. HTML (HyperText Markup Language) 웹 페이지의 대부분은 HTML로 되어 있기 때문에 HTML에 대해 알아볼 필요가 있다. HTML은 웹 상에서 하이퍼텍스트를 보내기 위해서 개발된 언어이다. 여기서 말하는 하이퍼텍스트란 문서 시스템의 하나로서, 문서 중에 임의의 장소의 정보가 다른 정보에 링크되어 있는 문서이다. 마크업 언어는 문서의 일부에 특별한 문자열(HTML에서는 HTML 태그라고 부른다.)을 붙임으로써 문서를 수식하는 언어이다. 우리가 보고 있는 naver웹 페이지, goog..
-
12일차 - Virtual MemoryCS지식/운영체제 2021. 5. 10. 23:13
지난 시간까지는 물리적 메모리에 프로세스를 올리는 방법과 논리적 주소를 물리적 주소로 바꾸는 방법에 대해 배웠다. 오늘은 프로세스가 실행되면 기본적으로 각각의 프로세스가 가지는 논리적 주소공간인 vritual memory에 대해 배웠다. virtual memory에서 paging기법을 사용하면 어떻게 동작하는지에 대해 알 수 있었다. 1. Demand Paging demand paging은 요청이 있는 경우에 해당 페이지를 메모리에 올리는 것이다. demand paging을 사용하면 다음과 같은 장점이 존재한다. ① I/O양의 감소 ② memory 사용량 감소 ③ 빠른 응답 시간 ④ 더 많은 사용자 수용 저번 시간에 page table에서 해당 page가 물리적 메모리에 있는지를 알려주기 위해 vaild..