일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- 앙버터마카롱
- graphql react native
- 비동기배열
- 고르드
- graphql with RN
- 화이트해커를 위한 웹 해킹의 기술
- graphql
- 지보싶 신촌점
- graphql with reactnative
- 홍대 예술
- promise처리
- useMutation error
- 예쁜술집 예술
- apollo react native
- graphql 400
- typescript
- 홍대 카페 장쌤
- 화이트 해커를 위한 웹 해킹의 기술
- 잠실새내 도그존
- 도그존
- 홍대 토라비
- promise메서드
- 금별맥주
- 잠실새내
- 신촌 소문난집
- apolloclient
- 비동기배열처리방법
- 토라비
- 운정 소바동
- graphql mutation error
- Today
- Total
목록기타 기본 지식 (12)
yehey's 공부 노트 \n ο(=•ω<=)ρ⌒☆
크롤링 (crawling) :WEB 상에 존재하는 contents를 수집하는 작업 -프로그래밍으로 자동화가 가능 -HTML 페이지를 가져와 HTML/CSS 등을 파싱, 필요한 데이터를 추출 크롤링 방법 -Open API를 제공하는 서비스에 Open API를 호출해서 받은 데이터 중 필요한 것만 추출하는 기법 -Selenium 등 브라우저를 프로그래밍으로 조작해 필요한 데이터만 추출하는 기법 하이퍼링크 (Hyper link) -다른 문서나 미디어 파일을 연결 -HTML에서는 a 태그에 href (hyper reference) 속성 값을 주는 형식으로 사용 -a 태그를 이용하여 웹 사이트의 URL은 물론, HTML 문서, 워드 프로세서, 압축파일, 실행파일 등을 모든 종류의 파일로 링크시킬 수 있음 from..
웹 스캐너 (WEB scanner) :웹에서 발생하는 수많은 취약점들을 빠르게 진단하기 위한 도구 -취약점 스캐너의 일종 -Acutenetix, OWASP-Zap, w3af, nikto, Burp Suite 등 HTML 파싱 :HTML 소스를 얻어서 원하는 부분(혹은 정보)을 추출하는 기법 -python에서는 beautiful soup4 라는 파이썬 라이브러리를 통해 파싱을 제공한다. Beautiful Soup4 -HTML 및 XML 파일에서 데이터를 가져오기 위한 Python library -cmd->Python-> pip install beautifulsoup4 를 통해 설치 urlopen() html 파일 열기 bsObj.html html 부분만 가져오기 bsObj.html.head html에서 h..
큐 (Queue) FIFO 구조를 갖는 데이터 저장 방식 큐 ADT 객체: 0개 이상의 요소들로 구성된 선형리스트 (큐의 첫번째 요소를 가리키는 front와 마지막 요소를 가리키는 rear가 있음) 연산: create init is_empty is_full enqueue dequeue peek 배열을 이용한 선형 큐 초기 상태: front = rear= -1 데이터를 enqueue할 때마다 rear는 1씩 증가, 데이터를 dequeue할 때마다 front 1 증가 크기에 제한이 있고, 한번 dequeue한 공간을 재사용하기 어렵다. =>메모리가 낭비된다. 연결리스트를 이용한 선형 큐 필요할 때마다 노드를 생성해서 연결 => 메모리 낭비 방지 dequeue 할 때 메모리 공간을 놓아주어야함 초기 front..
Stack LIFO (Last In First Out) 구조를 갖는 데이터 저장방식 ex) 되돌리기 기능, 괄호쌍 검사, 수식 계산 등 Stack ADT 객체: 0개 이상의 원소를 갖는 유한 선형 리스트 연산: create : 최대 크기가 정해진 공백 스택 생성 is_full is_empty push : 스택 맨 위에 원소 추가 pop : 스택 맨 위의 원소를 제거, 반환 peek : 스택 맨 위의 원소를 제거하지 않고 반환 배열을 이용한 Stack -자료를 담을 배열, 가장 마지막에 입력된 자료의 index를 나타내는 top 변수를 사용 -배열의 크기에 제한이 있음 연결 리스트를 이용한 Stack 크기에 제한이 없음 (필요할 때 마다 노드 생성하고 연결) Node는 data와 다음 Node를 가리키는 ..
List ADT 객체: n개의 element 형으로 구성된 데이터의 순서있는 모임 연산: insert: 특정위치에 요소 추가 inset_first : 맨 처음에 요소 추가 insert_last : 맨 마지막에 요소 추가 delete : 특정 요소 삭제 clear get_entry : 특정요소의 index 반환 get_length : 리스트 길이 반환 is_empty is_full print_list 연결리스트 (Linked list, 단순 연결 리스트) 하나의 노드는 데이터 필드와 link 필드로 이루어져 있음 link는 다음 노드를 가리키는 포인터 변수 가장 마지막 노드의 link는 NULL을 가리킴 Head pointer: 데이터가 들어있는 첫번째 노드를 가리키는 포인터, data 없음, link 값..
재귀 (recursion) -함수가 수행 도중 자기 자신을 다시 호출하는 기법 -대부분의 재귀는 반복으로 바꾸어 작성 가능 재귀함수의 조건 -자기 자신을 다시 호출하는 부분이 존재해야함 (인자를 다르게 넣어서) -재귀를 끝낼 조건이 필요함 (종료 조건이 없으면 오류 발생 시 까지 무한 호출) + void 함수가 아니라면 각 조건에 return이 필요한 듯 재귀함수의 특징 -구현이 쉽다. (...? 사실 이해가 잘 안간다ㅠ) -코드 이해가 직관적으로 쉬워진다. -코드가 간결해진다. -일반적으로 시간적, 공간적으로 오버헤드가 크다. -효율이 떨어진다. (오버헤드가 커서) 재귀함수가 효율적인 문제 -거듭제곱 문제 O(log_2n) 예시) power(2,10) power(2,10) -> power(4,5) -..
알고리즘 -컴퓨터로 문제를 풀기 위해 만든 단계적인 절차 -문제해결 방법을 추상화하여 단계적 절차를 논리적으로 기술해 놓은 명세서 알고리즘의 조건 -입력(input): 0개 이상의 입력이 존재해야함 -출력(output): 1개 이상의 출력이 존재해야함 -명확성: 각 명령어의 의미는 명확해야함 -유한성: 한정된 수의 단계 후에는 반드시 종료되어야 함 -유효성: 각 명령어들은 실행 가능한 연산이어야 함 알고리즘 표현방식 1. 자연어 -사람이 읽기 쉬움 -의미 전달이 모호해질 수 있음 (명확성↓) 2. 흐름도 -직관적이고 이해가 쉬움 -알고리즘이 복잡해질수록 흐름도도 같이 복잡해짐 3. 유사코드 (= 의사코드) -알고리즘의 핵심에 집중 -다양한 프로그래밍 언어로 변환이 용이 4. 프로그래밍 언어 -알고리즘에 ..
port (포트) : 프로그램이 네트워크 통신을 위하여 소켓에 부여한 번호 -포트를 열어놓으면 언제든 통신이 가능하지만, 공격자에게 취약점을 노출시킬 수 있다. 포트 스캔 : 정보 수집의 단계로 공격 대상이 어떤 취약점을 가지고 있는지 파악하는 작업을 한다. -실무에서는 공격자들로부터 취약점 노출을 최소화하기 위해 포트 스캔을 정기적으로 사용한다. -사용하지 않는 포트들을 관리하여 불필요한 외부 접촉을 줄일 수 있다. -포트를 스캔한다는 의미는 컴퓨터 내부로 들어갈 수 있는 길을 찾는 것 포트 번호 : 컴퓨터 내에서 프로그램이 소켓을 요청할 때 부여하는 번호 -수많은 소켓들을 관리하기 위해 사용한다. 스캔의 종류 ARP 스캔 ARP 프로토콜을 이용해서 네트워크 대역의 정보를 확인함 같은 네트워크 대역에서..
백도어 (Backdoor) 운영체제나 프로그램 등을 만들 때 정상적인 인증 과정을 거치지 않고, 운영체제나 프로그램 등에 원격 접속을 보장, plaintext에 접근하는 등의 행동을 들키지 않고 행하는 방법 넓은 의미에서 설계자나 관리자에 의해 남겨진 시스템의 보안 허점 (exploit을 뜻하기도 함) 프로그램 개발이나 유지 보수, 유사시 문제 해결등을 위해 일부러 남겨놓기도 함 (액세스 효율 증대를 위해) -설치된 프로그램 -기존 프로그램 or 하드웨어의 변형 백도어의 종류 로컬 백도어 Cronjob 백도어 원격 백도어 라이브러리 백도어 패스워드 크래킹 백도어 커널 백도어 시스템 설정 변경 백도어 파일 시스템 백도어 트로이 목마 형태의 백도어 프로세스 은닉 백도어 거짓 업그레이드 네트워크 트래픽 백도어..
FTP 취약점 FTP Bounce Attack :FTP 서버가 데이터 전송 시 목적지를 검사하지 않는다는 점을 이용한 공격 (FTP 클라이언트가 실행되는 호스트가 아닌 다른 호스트가 지정되어도 서버는 데이터를 전송하게된다.) ex) 포트 스캐닝 - 클라이언트가 자료 전송을 요청할 때, 포트 연결 성공/실패 출력 메시지를 포트 스캐닝 스크립트에 이용할 수 있다. Fake mail - 메일의 헤더 부분을 FTP Bounce 공격을 이용하여 정보가 허위로 입력된 거짓 메일을 전송할 수 있다. 방화벽을 넘어 접근 - 방화벽의 내부에 익명(anonymous)으로 외부에서 접근이 가능한 FTP 서버가 있다면 FTP 서버는 방화벽 내부에 존재하기 때문에 방화벽의 Packet Filtering을 무시하고 작업 수행 가..