전체 글 썸네일형 리스트형 자료구조 스터디 week4 - 스택 스택스택이란 맨 위의 원소만 접근 가능한 자료구조를 말한다.맨 위의 원소를 스택탑이라고 하며, 새로운 원소를 저장할 때는 스택 탑 바로 위에 원소를 저장하고, 원소를 삭제할 때는 무조건 탑에 있는 원소를 삭제한다. 스택의 삽입과 삭제의 예시는 다음과 같다. 스택에서 삽입할 때는 아래부터 쌓고 삭제할 때는 맨 위의 원소를 삭제하게 된다. 메모리 구조에서의 스택 프로그램은 위와 같은 가상 메모리에서 수행된다는 가정하에 컴파일러가 컴파일 하고 물리적인 메모리에는 수행시점에 대응된다.(프로그램이 독립적으로 물리 메모리 크기에 구애받지 않고 실행된다는 뜻) 정적 영역에는 컴파일 직후 상대의 위치를 정할 수 있는 모든 정보(수행 코드, 데이터)가 있고, 동적 영역에는 프로그램 수행 중 할당 받는 메모리(힙)와 다.. 더보기 인증 / 인가 취약점 인증(Authentication)그 사람 본인이 맞는지 확인하는 작업 인증 과정에서 일어나는 취약점 인증을 무시하는 공격인증 과정이 허술하게 이루어져 있으면 인증 취약점이 발생할 수 있다. 1. 쿠키를 통해 인증하는 케이스- 클라이언트 측 정보를 이용하여 인증을 하는 케이스 쿠키가 클라이언트 측에서 저장이 되기 때문에 사용자가 이를 수정할 수 있다는 문제점이 있다. 2. Process 점프- 직접 접근(direct)- 본인 인증 인증 과정을 거치지 않고 바로 인가를 받는 케이스약관 동의 - 본인 인증 - 회원가입 순으로 진행되는 process의 경우 본인인증을 뛰어 넘고 바로 회원가입을 진행하는 취약점이 존재한다. 3. 파라미터 응답값 변조쿠키, url 등 서버에 파라미터로 전송하는 값을 변경하여 인증.. 더보기 모의해킹 스터디 Week15 수업내용 정리 File Upload 공격- 공격자가 임의의 파일을 업로드할 수 있는 공격 예시) One Line Web Shell 공격 => 주로 Web Shell 공격을 통해 이루어진다.서버 측에서 실행가능한 파일을 업로드할 수 있는 공격 예시)윈도우 서버의 - IIS(Internet Information Services) - exe 파일 업로드 공격 과정 웹 서버에서 실행할 수 있는 파일을 업로드 업로드 한 파일의 경로 찾기 파일 경로를 통해 웹 서버에 실행 요청을 보냄Image Web Shell이미지 파일 형식을 이용한 웹쉘을 말한다. 이미지 파일의 file signature를 변경하는 방법으로도 이루어진다. 이미지 코드에 스크립트를 추가적으로 삽입하여 서버에 업로드를 하고 서버가 실행을 시키면 이 이미지 웹쉘로.. 더보기 자료구조 스터디 Week3 - 리스트 리스트는 '줄 세워져 있는 데이터' 또는 '죽 늘어선 데이터'를 의미한다.리스트를 관리하기 위해 데이터를 추가 혹은 삭제가 가능하며, 값을 가져올 수도 있다. 리스트는 ADT 리스트로, 구현 방법은 명시하지 않고, 추상화를 통해 자료구조가 제공하는 기능들에 대해서만 명시하는 것을 말한다. 추상 데이터 타입에서 정의되는 핵심 기능은 크게 6가지로 볼 수 있다. - add, append, remove, removeItem, get, setadd() - 특정 인덱스에 데이터 추가 ex) add(3, 250)append() - 리스트 끝에 데이터 추가remove() - 특정 인덱스의 요소를 제거removeItem() - 특정 값의 요소를 제거get() - 특정 인덱스 요소를 반환set() - 특정 인덱스 요소 .. 더보기 자료구조 스터디 Week2 클래스클래스는 '객체'를 만드는 수단이며, 어떤 대상을 추상화하는 의미 단위이다.프로그램은 하나 이상의 클래스를 포함하게 된다. (클래스의 구조)클래스Heap 클래스 내부// 필드private int[] A;private int numItems;// 생성자public Heap(int n) { A = new int[n]; numItems = 0;}// 메소드public boolean isEmpty() { return numItems == 0;}public void insert(int newItems) { ..}private void percolateUp(int i) { ..}public int delete() { ..}public static void main(String[] args) { ... 더보기 알고리즘 수행 시간 / 시간 복잡도 알고리즘은 '자원을 얼마나 효율적으로 사용하는가'로 판단한다. 여기에서 '효율적'이라는 말은 저장공간, 네트워크 등이 될 수 있지만, 대부분은 시간이 얼마나 걸리는지로 판단을 한다. 알고리즘 수행시간이 짧을 수록 프로그램 전체 성능은 향상되고, 일반적으로 시스템 자원을 덜 사용하게 되어 비용절감의 효과도 얻을 수 있다. 직관적이고 효율적인 프로그래밍을 하는 것이 알고리즘을 배우는 핵심이다. 점근적 표기알고리즘은 일반적으로 점근적 표기를 따른다.점근적 복잡도란 입력의 크기가 충분히 클 때의 복잡도이다. lim n→∞T(n)=2n^2 라는 시간 복잡도가 주어질 때, 점근적 복잡도에서는 n^2라고 표현한다. n이 충분히 클 경우에는 앞의 상수가 주는 영향은 미미하기 때문이다. (T(n)은 알고리즘 수행시간 .. 더보기 파일 업로드 검사 우회 방법 1. MINE 타입 변경파일 업로드시 서버로 전달되는 요청 헤더 중 Content-Type 값을 변경하는 우회 방식image/png를 고정적으로 전달받는 서버의 경우에 text/php로 값을 변경하여 우회할 수 있다. 또한 기존의 filename을 php로 수정하고, 입력 값도 함께 수정하여 전달한다. 2. 실행 X 우회 파일을 업로드 후 이미지 파일의 경로를 따라 파일이 저장된 url로 접속하게 되면 웹 서버에서 파일을 실행시키지 않고 그대로 코드를 전송하는 경우를 볼 수 있다. 위의 이미지와 같이 실행이 되지 않는 이유는웹 서버에서 "도메인/files/avatars/" 에 있는 파일 실행 권한을 없앴기 때문이다. 따라서 우회하는 방법으로는 /file/avatars/ 디렉토리를 벗어난 상태로 파일을.. 더보기 File Vuln 문제 풀이(Web Shell 1, 2) Web Shell 1 파일 업로드 취약점이 있는 게시판에서 파일을 업로드 하여 웹 쉘을 획득하고, 플래그를 찾는 문제이다. 로그인 후, 게시판에 접속하여 드래그를 통해 파일을 업로드 해주었다. 게시판 페이지 아래 부분에 Download라는 항목으로 파일 업로드가 된 것을 확인하였다. Download에서 우클릭 후 "링크 주소 복사"를 하였다. 더보기http://ctf.segfaulthub.com:8989/webshell_1/files/protruser/webshell.php파일 경로를 획득하였기 때문에 주소창에 그대로 복사하여 접속하였다. 코드 내용이 뜨지 않고 빈 페이지를 화면에서 출력하였다.코드가 WAS(Web Application Server)에서 실행되었다고 판단하고 그대로 Burp Suit.. 더보기 이전 1 2 3 4 5 ··· 8 다음