본문 바로가기

분류 전체보기

(47)
알고리즘 개념 - 다이나믹 프로그래밍, 최단 경로, 그래프 - 2023.09.14 다이나믹 프로그래밍 ▷ 다이나믹 프로그래밍(DP) : 동적 계획법, 하나의 큰 문제를 여러 개의 작은 문제로 나누어서 그 결과를 저장하여 다시 큰 문제를 해결할 때 사용 ▷ DP 사용 조건 Overlapping Subproblems(겹치는 부분) Optimal Substructure(최적 부분 구조) 1) Overlapping Subproblems : 동일한 작은 문제들이 반복하여 나타나는 경우에 사용이 가능하다 DP는 그 문제의 결과 값을 재활용해서 전체 결과 값을 구한다. 따라서 부분 문제에서 반복적으로 나타나지 않을 경우에는 재활용이 불가능하기 때문에, 겹치는 부분이 없을 시에는 사용할 수 없다. 2) Optimal Substrucuture : 부분 문제의 최적 결과 값을 사..
코드엔진 Basic RCE L01 ~ L04 풀이 - 2023.09.14 CodeEngn Basic RCE L01 1. 문제 확인 문제 실행 파일을 다운받아 실행시켜보니 아래와 같은 경고창이 뜬다. CD-Rom Drive가 아니라고 뜬다. 2. 문제 해결 위 사진과 같이 CD-Rom으로 인식되려면 5가 되어야 한다. 따라서 우리는 GetDriveTypeA의 리턴값을 5로 변경해야 한다. GetDriveTypeA 함수를 지나고나서 EAX값이 3으로 지정되어 있는 것을 확인할 수 있고, 해당 함수를 실행하자마자 EAX의 값을 5로 설정해주고 실행을 했다. 변경 후 실행을 해주면, 정상적으로 실행되는 것을 확인할 수 있다. CodeEngn Basic RCE L02 1. 문제 확인 정말로 해당 파일이 실행되지 않는다. 디버거로 열어보아도 에러 메시지만 뜬다. ..
Dreamhack.io file-download-1 문제 풀이 - 2023.06.15 file-download-1 flag.py를 다운로드 받으면 플래그를 획득할 수 있는 문제이다. 우선 접속 정보를 통해 웹에 접속을 해 보았다. 우선 파악을 하기 위해 메모를 업로드 했다. 이때, url을 확인해보면 read?name=1 라고 되어있다. 여기서 name은 filename이고, filename에 해당하는 content를 화면에 보여주고 있다. read?name=flag.py를 입력했을 때 존재하지 않는다고 뜬다. 그래서 더 상위 디렉토리로 이동해 입력을 해보았다. read?name=../flag,py 그럼 위 사진과 같이 flag를 찾을 수 있다!!!!! 굳!!! DH{uploading_webshell_in_python_program_is_my_dream}
Dreamhack.io devtools-sources 문제 풀이 - 2023.06.15 devtools-sources Dreamhack.io devtools-sources 문제는 개발자 도구의 sorces를 활용해야 하는 문제다. 파일은 다운로드 한 후 압축을 풀고 index.html에 접속을 했다. 여기서 F12를 눌러 개발자 도구를 열고 sources 탭을 확인해본다. 코드를 하나하나 찾아볼 순 없으니 전체 검색 단축기인 Ctrl + Shift + F를 사용한다 사진과 같이 DH를 검색했을 때 검색 결과가 나오는 것을 확인할 수 있었다! 문제 해결~~~~ DH{2ed07940b6fd9b0731ef698a5f0c065be9398f7fa00f03ed9da586c3ed1d54d5}
알고리즘 개념 - 그리디, 구현, DFS, BFS, (선택/삽입/퀵/계수)정렬, 탐색, DP - 2023.06.09 알고리즘 개념 정리 그리디 구현 DFS BFS 선택정렬 삽입정렬 퀵정렬 계수정렬 탐색 DP 그리디 알고리즘 (Greedy Algorithm) ▷ 탐욕법, 다음을 생각하지 않고 현재 단계에서 당장 좋은 것만 고르는 방법 탐욕적 선택 속성에 용이 => 탐욕적 선택이 항상 안전하다는 것이 보장됨 최적 부분 구조 특성을 가지는 문제 해결에 용이 => 부분 최적 값이 모여 전체 최적 값을 구할 수 있는 경우 아래의 사진과 같이 학교와 집의 최단 경로 + 집과 편의점의 최단 경로 = 학교와 편의점의 최단 경로 구현 알고리즘 (Implemetation Algorithm) ▷ 알고리즘을 소스코드로 바꾸는 과정 구현 문제 유형은 모든 범위의 코딩 테스트 문제 유형을 포함하는 개념 풀이를 떠올리는 ..
네트워크 보안 DOS / DDOS / ARP spoofing / nmap 개념 - 2023.06.01 네트워크 보안 공격 종류 ▷ DOS (Dist Operating System) 물리적 파괴 시스템 리소스 공격 네트워크 리소스 공격 => 실 시스템에 큰 피래를 유발할 수 있는 기법 Ping of Death 규정 크기 이상의 ICMP 패킷으로 시스템을 마비시키는 공격 Land attack IP 스푸핑을 이용한 SYN 공격 SYN flooding TCP의 연결과정에서 취약점을 이용하여 공격 smurf 희생자의 스푸핑된 원본 IP를 가진 수많은 ICMP 패킷들이 IP 브로드캐스트 주소를 사용해 컴퓨터 네트워크로 브로드캐스트하는 분산 서비스 거부 공격 ▷ DDOS (Distributed Denial of Service) 공격자가 여러 대의 컴퓨터를 감염시켜 감염시킨 컴퓨터로 타깃을 동시..
FTZ level 7 문제 풀이 - 2023.05.18 FTZ level 7 힌트 확인 tmp 파일 안에 password 파일이 존재한다. 하지만 시스템상 문제로 파일이 만들어지지 않는 경우도 있다. password 파일 내용 : --_--_- --____- ---_-__ --__-_- 힌트의 내용에 따라 - = 1, _ = 0 으로 바꿔 보면 2진수가 나타난다. 2진수를 10진수로 바꾸어 계산했을 경우 아래의 숫자들이 4개가 나온다. 10진수를 아스키코드로 바꾸면 알파벳 4자리가 나오는데, 그것이 level7의 비밀번호가 된다.
FTZ level 6 문제 풀이 - 2023.05.18 FTZ level 6 문제 확인 여기서 Enter을 누르면 텔넷 접속 서비스에 갇혀서 나올 수 없게 된다 따라서 접속 서비스를 가기 전 hint를 알려주는 부분에서 문제를 해결해야 한다. 탈출하기 위해 환영 메세지 화면에서 Ctrl + C를 눌러 본다. 그러면 Shell 창으로 나올 수 있다 ls로 하위 목록을 확인해 보면, 아래에 password 파일이 있는 것을 확인할 수 있다. cat으로 확인해 보자 level6 pw : what the hell level7 pw : come together