분류 전체보기
-
알고리즘 - 이진탐색 알고리즘 개념Knowledge/Algorithm 2019. 6. 17. 00:50
안녕하세요. 오늘은 이진탐색 알고리즘 개념에 대해서 정리하려 합니다. 이진탐색이란 이진법, 이분법에서 파생된 말로 아메바를 예로 들 수가 있겠네요. 아메바는 번식을 할 때 자신의 몸을 반으로 나눠서 개체 수를 증가시킵니다. 그래서 사람들은 우수겟소리로 이분법적인 사고로 나눠서 판단하지 말라고도 말합니다. 두개로 분할한다라는 뜻으로 생각하시면 편할 것 같습니다. 그리고 이것을 수학적으로 접근해보면 우리는 친근한 게임을 예시로 들 수 있습니다. 그것은 바로 업다운 게임인데요. 우리는 업다운 게임을 할 때 본능적으로 가장 적은 횟수로 높은 확률을 갖을 수 있는 방법을 고안해 냅니다. 그것은 바로 1~100이란 숫자 중에 50을 기준으로 유추하기 시작하는 거죠. 만약 숫자가 87이라면 50을 묻고 높다고 판명이..
-
2017 OWASP A6 : 잘못된 보안 구성Knowledge/Web 2019. 6. 16. 21:51
안녕하세요. 오늘은 OWASP의 6번으로 선정되어진 잘못된 보안 구성에 대해서 포스팅 하겠습니다. 잘못된 보안 구성 잘못된 보안 구성, 굉장히 두루뭉실하며 네이밍하기에는 너무 추상적인 단어 조합이다. 그렇기에 예를 들어서 구체적인 상황들로써 좀더 명확한 개념을 알아보도록 하자. 잘못된 보안 구성이란 뭘까, 한마디로 인간적인 실수를 예로 들을 수가 있다. 취약한 버전으로 알려진 버전의 어플리케이션을 사용한다던가 무심코 열어둔 텔넷, 접근 거부 설정을 하지 않아서 나타나는 디렉토리 인덱싱, 우리한테 친절하게 어디가 틀려줬는지 알려주려고 만들어논 에러구문을 역이용한 정보수집등 우리가 초기에 설정할 때 보안상 설정해주어야 하지만 하지 않은 것들을 바로 잘못된 보안 구성이라고 말한다. 그럼 대충 감이 오기 시작하..
-
2017 OWASP A4 : XML 외부개체 / XXE (XML External Entity) 취약점Knowledge/Web 2019. 6. 16. 00:15
XXE 취약점에 대해 알기 위해서는 사전적으로 XML이란 무엇인지에 대해서 알고 있어야한다. XML이란 html의 한계를 극복하기 위해 만들어진 마크업 언어로 인터넷에 연결된 시스템끼리 데이터를 쉽게 주고 받을 수 있게 하기 위해서 만들어진 언어이다. html과 다른점은 서로간의 데이터 전송을 위해서 사용된다는 것과 사용자의 눈에 보이지 않는 비가시적인 특성을 갖고 있다. 이러한 XML에서 오래되고 설정이 부실한 프로세서들은 XML 문서 내에서 외부 개체 참조를 평가하게 된다. 외부 개체는 파일 URI 처리기나 내부 파일 공유, 내부 포트 스캔, 원격 코드 실행과 서비스 거부 공격을 사용하여 내부 파일을 확인하는데 사용 할 수가 있습니다. OWASP의 위험도 산정 기준을 보면 공격 가능성 : 2 확산정도..
-
알고리즘 - 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 기술 :..