케빈 미트닉 해킹기법 rsh -------> 현제 ssh rlogin R서비스 (remote) : 원격 시스템 rshell의 기능 홈 디렉토리에 .rhosts에 IP주소를 쓰게 되면 인증없이 접근이 가능 cat .rhosts echo "+ + " > .rhosts 위 명령어 입력시 누구든 접근이 가능함. JSZ : IRC IP Spoofing으로 인증을 모두 우회 가능. 공격 원리 : TCP Session Hijacking TCP/UDP : 데이터 전송 방법 차이 TCP : 데이터가 깨지지 않고 온전하게 보내는것과 정확히 도착했는지가 목표 -> 이를 확인하는 과정이 존재 UDP : 데이터를 그냥 전송. 답장이 없을경우 계속해서 전 TCP 연결과정 Three way hand shake 데이터 전송 시작시 ..
파일 업로드 구현시 필요한 요소 1. 파일 업로드 폼 만들기 2. 파일 업로드 폼을 통해서 특정 디렉토리에 파일을 저장 3. 파일 업로드 폼을 통해 전송된 파일 이름과 업로더, 날짜, 업로드 위치(게시물번호) 등을 DB에 저장 파일 업로드 원리 1. 클라이언트(웹 브라우저)에서 파일을 선택하여 서버로 전송. 이를 위해 HTML 폼을 사용하고, 폼 필드에 파일 선택(input type="file")을 추가한다. 2. 클라이언트에서 전송한 파일은 서버로 POST 또는 PUT 요청을 통해 전송. 이때, 파일은 임시 디렉토리에 저장됨. - 임시 디렉토리는 특수 목적을 위해 임시적으로 파일을 저장하는 공간으로 목적을 달성하면 일반적으로 삭제된다. 3 .서버는 업로드된 파일을 임시 디렉토리에서 원하는 디렉토리로 이..
데이터를 찾기 위해서 특정 행을 검색을 하게 되면 데이터를 순차적으로 검색을 하게 될 것이다. 물론 이러한 방법이 문제가 있는것은 아니다. 데이터의 수가 적다면 말이다. 만약 특정 행의 검색을 요청하면 컴퓨터는 그 특정행을 찾기 위해 모든 행을 전부 확인 할 것이다. 즉, 데이터 수가 많을수록 속도가 더 느려지게 될 것이다. 1부터 100까지의 수 중에서 특정 수를 찾는다고 해보자. 이때 50이상인지, 이하인지를 살펴보듯이 절반씩 잘라가며 확인을 한다면 훨씬 더 빠른 속도로 값을 찾을 수 있을 것이다. 이를 이분탐색알고리즘이라하며 Blind SQL Injection에서 글자를 찾기 위한 방법으로 사용되었었다. 이 방법의 전제조건은 '정렬'이 되어있어야 한다는 것이다. 따라서 이를 위해 정렬을 시킨 또 다..
여러 조건을 중첩을 하다보면 if문이 중첩되며 오른쪽으로 코드가 밀려난다. 이때 들여쓰기 된 부분을Nesting이라 한다. 중첩을 최소화하기 위해서 Refactoring 즉, 재조정이 필요하다. 이방법은 다음과 같이 나눌 수 있다. 1) and/or 연산자로 축약 논리연산자를 통해 조건을 합치게 되면 중첩을 줄일 수 있다. 다만 이의 문제점은 로직이 변경될 수 있으며 이 또한 중첩이 많이 필요한 경우 복잡해질 수 있다. 2) Guard clause if문 끝에 조건을 모두 충족하지 않을 경우 실행되는 else문이 있다. 이 예외처리되는 코드들을 위로 올리는 것이다. 그렇게 된다면 가독성이 개선될 뿐만 아니라 로직의 변경 또한 없다.다만 이 경우에는 모든 if문을 검사하기에 실행 되는 코드들이 많아 성능면..