저번에, 경로 조작 공격을 이 글에서 다루었습니다. 글이 난이도에 비해서 꽤 길었는데요. 요약하면 이거였습니다. 클라이언트의 입력을 곧이 곧대로 믿지 말라. 이것에 대해서 조금 더 찾아보면, 방지책으로 절대 경로를 쓰라고 되어 있습니다. 이 답글이나, 이 문서에서도 강조하고 있는 부분이기도 합니다. 데이터 파일들은 특정한 경로 안에 있을 것이기 때문입니다. [관련글] 사용자의 입력값과 path traversal 공격 File 클래스를 보면, getAbsolutePath와 getCanonicalPath가 있습니다. 아래 예제를 보겠습니다. 테스트 케이스는 하나입니다. ..\\.idea입니다. 이것은 프로젝트 폴더의 상위 디렉토리로 이동해서 .idea로 이동하겠다는 의미입니다. 출력 결과만 보도록 하겠습니다..
절대경로 검색 결과
이전 글에서 절대 경로와 상대 경로를 주구장창 설명한 이유는 pwd 명령어를 설명하기 위해서입니다. 이 명령어는 현재 내가 작업하고 있는 위치를 절대 경로로 출력하는 함수입니다. 그러면 루트를 기준으로 현재 내가 있는 위치를 화면에다가 프린트 할 거에요. 만약에 루트라면, /만 출력을 할 거에요. 루트에는 여러가지 폴더들이 있는데요. 그 중, 저는 home 디렉토리에 들어가 보겠습니다. 그러면 이 안에 chogahui05라는 폴더가 또 있는데요. 이 안으로 들어가면 터미널이 켜졌을 때, 작업 디렉토리가 나타납니다. 저는 /home/chogahui05라는 디렉토리에서 작업을 할 겁니다. 그리고 몇 개의 디렉토리와, 폴더들을 만들 겁니다. 이것을 디렉토리 구조로 나타내면 다음과 같습니다. chogahui05..
절대 경로와 상대 경로는 이야기를 많이 들어보셨을 거에요. 이는 어디를 기준으로 잡느냐에 따라서 차이가 나는데요. 간단하게 실습을 한 번 해 봅시다. 먼저, C 폴더 밑에 있는 User 밑에 있는 cho 폴더를 보면, gahui와 gahui2가 있어요. 여기에는 어떤 녀석들이 들어가 있는지 봅시다. 먼저 gahui에 들어가 봅시다. 그러면 a.c와 실행파일 a가 있어요. 그리고 폴더 f에 들어가 봅시다. 그러면 왠 1.txt가 있는 것을 볼 수 있는데요. 이 파일을 한 번 열어봅시다. 그러면 "abcde"라는 문자열 1줄이 있는 것을 볼 수 있습니다. 그 다음에, cho 밑에 있는 또 다른 폴더인 gahui2를 열어봅시다. 이 안에도 1.txt가 있는데요. 여기에는 저 이름이 내 개라는 문자열이 쓰여져 ..
최근댓글