Knowledge
-
알고리즘 - Bubble Sort (버블 소트)를 코딩해보자(2)Knowledge/Algorithm 2019. 6. 15. 15:38
https://shineild-security.tistory.com/17 알고리즘 - Bubble Sort (버블 솔트)를 코딩해보자! (1) 알고리즘의 첫시작으로 하기에 좋은 정렬방법인 Bubble Sort. 지난번 포스팅에선 이 알고리즘의 개념에 대해서 포스팅을 했었다. https://shineild-security.tistory.com/17 알고리즘 - Bubble Sort 개념 (버블.. shineild-security.tistory.com https://shineild-security.tistory.com/18 알고리즘 - Bubble Sort (버블 솔트)를 코딩해보자! (1) 알고리즘의 첫시작으로 하기에 좋은 정렬방법인 Bubble Sort. 지난번 포스팅에선 이 알고리즘의 개념에 대해서 포..
-
알고리즘 - Bubble Sort (버블 소트)를 코딩해보자! (1)Knowledge/Algorithm 2019. 6. 15. 02:54
알고리즘의 첫시작으로 하기에 좋은 정렬방법인 Bubble Sort. 지난번 포스팅에선 이 알고리즘의 개념에 대해서 포스팅을 했었다. https://shineild-security.tistory.com/17 알고리즘 - Bubble Sort 개념 (버블 솔트) Bubble Sort(버블 정렬)이란 많은 숫자들을 정렬할 때 사용하는 알고리즘들 중의 하나이다. 결론부터 말하자면 왼쪽에 가장 작은 수를 두고 오른쪽으로 갈 수록 큰 수들이 정렬되어 있는 구조로 오른쪽 가장 끝에.. shineild-security.tistory.com 오늘은 배운 개념을 토대로 코딩을 해보려고 한다. 주의: 예시를 보고 작성한 것이 아니라 순전히 필자의 생각대로 코딩을 한 것이기 때문에 절대 효율적인 코드가 아닐 것이다. 추후의 ..
-
알고리즘 - Bubble Sort 개념 (버블 소트)Knowledge/Algorithm 2019. 6. 13. 23:52
Bubble Sort(버블 정렬)이란 많은 숫자들을 정렬할 때 사용하는 알고리즘들 중의 하나이다. 결론부터 말하자면 왼쪽에 가장 작은 수를 두고 오른쪽으로 갈 수록 큰 수들이 정렬되어 있는 구조로 오른쪽 가장 끝에는 가장 큰 수가, 왼쪽 가장 끝에는 가장 작은 수가 정렬되게 끔 만드는 방식이다. 쉽게 말하면 숫자를 크기순으로 나열한 것이다. EX-1) 5 9 3 1 2 8 4 7 6 | | (일명 저울) 무작위로 정렬된 일렬의 데이터에서 두개를 가리키는 눈금이 오른쪽 끝에서 왼쪽의 1개 오른쪽의 1개를 저울처럼 가리키며 비교를 하는 알고리즘이다. 그래서 비교한 결과, 오른쪽의 숫자가 더 작은 것으로 확인되면, 그 숫자가 바뀌게 된다. 이 경우 7과 6을 비교하게 될 겁니다. 오른쪽에 있는 숫자는 6으로 ..
-
DNS 레코드의 종류Knowledge/Network 2019. 6. 6. 21:40
A address 특정 IP에 대한 호스트 이름을 정의할 때 사용이되며 여러개의 IP를 하나의 호스트도메인으로, 혹은 여러개의 호스트를 하나의 IP로 설정할 수도 있다. PTR Pointer A와는 반대로 특정 IP에대한 도메인명이 무엇인지 찾고 맺어주는 역할을 한다. NS Name Sertver DNS Server를 명칭하는 말 MX Mail Exchanger 도메인 이름으로 보낸 메일을 받는 호스트 목록을 지정할 때 사용된다. CNAME Canonical Name 일종의 별명을 지정하는 것이라고 생각하면된다. 이름이 긴 길이의 호스트명을 cname을 지정하여 짧게 별명처럼 사용할 수 있다. (ex. www.naver.com -> www.naver.com.nheos.com.) SOA Start of A..
-
2017 OWASP A8 : 안전하지 않은 역직렬화 (역직렬화 취약점 - 원격 코드 실행)Knowledge/Web 2019. 6. 5. 00:19
2017 OWASP에 8위로 선택된 안전하지 않은 역직렬화에 대해서 정리해보려고 합니다. 안전하지 않은 역직렬화는 이번 2017년도에 새롭게 기재된 항목으로 예전에는 원격코드 실행 취약점에 속해있었다고 봐도 무방해보입니다. 그렇다면 역직렬화란 무엇일까? 간단하게 말하면 서로간에 원활한 통신을 위해 데이터를 스트림하기 위해 직렬화를 시키고 그 직렬화된 데이터 스트림을 다시 받고 역직렬화 해서 데이터를 확인하는 과정을 말합니다. 안전하지 않은 역직렬화는 종종 원격 코드 실행으로 이어집니다. 역직렬화 취약점이 원격 코드 실행 결과를 가져오지 않더라도 이는 권한 상승 공격, 주입 공격과 재생 공격을 포함한 다양한 공격 수행에 사용될 수 있습니다. 공격 가능성 : 1 확산 정도 : 2 탐지 가능성 : 2 기술 :..
-
TCP 패킷 구조 (전송계층 프로토콜)Knowledge/Network 2019. 5. 29. 00:50
TCP 패킷은 전송계층의 프로토콜로 연결지향형이다. 그리고 전송계층에서는 포트번호를 주소로 삼는다. TCP 패킷 구조 S.Port 길이 : 2 Bytes Source Port 출발지 포트 D.Port 길이 : 2 Bytes Destination Port 목적지 포트 Seq.Number 길이 : 4 Bytes Sequence Number 패킷의 순서 값 Ack.Number 길이 : 4 Bytes Acknowledgment Number 통신 상대의 패킷 순서 값 Data Offset 길이 : 4 bits TCP 패킷의 헤더 길이를 나타내며 32bits가 몇 행인지를 가리킨다. 최소값 : 5 Reserved 임시공간 Control Bits 길이 : 6 bits 6개의 비트는 각각 다음과 같이 TCP 패킷의 종..
-
ICMP 패킷 구조Knowledge/Network 2019. 5. 28. 15:22
ICMP는 서로간의 ping 통신을 할 때 주로 사용되며 서로간의 통신이 정상적으로 이루어지는지 확인하기 위하여 쓰인다. ICMP(Internet Control Message Protocol) 패킷 구조 Type 길이 : 1 Byte ICMP type의 종류를 나타냄 0 - Echo Reply 4 - Source Quench 5 - Redirect 8 - Echo Request 11 - Time Exceeded Code 길이 : 1 Byte 각 타입별로 세부적인 값을 적는다. Checksum 길이 : 1 Byte 패킷의 무결성을 확인하기 위한 값으로 패킷의 크기를 적는 값, 일치하지 않을 시 잘못된 패킷으로 판별한다. Data 보통 의미없는 문자열로 채워져 보내진다.