디렉토리 구조를 포함하는 파일

디렉토리 구조를 포함하는 파일

$filename현재 CTF 챌린지를 수행 중이며 PHP 함수 호출 매개변수 에 상대 경로를 삽입하여 플래그라고 가정하는 것을 추출했습니다.

file_get_contents($filename)

이는 대상 시스템의 Apache 서버에 의해 실행됩니다.

다른 지점에서 힌트를 통해 플래그가 숨겨져 있는 파일 이름을 얻었지만 궁금합니다.

디렉터리 구조와 해당 디렉터리에 포함된 파일에 대한 정보를 보유하는 Linux 시스템에 일반적으로 존재하는 파일이 있습니까?

흥미로운 파일에 대한 참조를 찾기 위해 여러 로그 파일을 검색해 보았지만 아직 파일 이름에 대한 자세한 목록을 찾지 못했습니다. 또한 전체 장치 파일을 읽을 수 있는 권한도 없습니다. 매개 변수 에 대한 전체 제어 권한은 있지만 $filename수집한 정보에 따르면 와일드카드 없이 절대 또는 상대 경로만 삽입할 수 있습니다.

답변1

대부분의 Linux 시스템에 설치되는 명령 locate은 시스템의 모든 경로가 포함된 데이터베이스에서 정보를 가져옵니다. 크론 작업은 이 데이터베이스를 유지 관리합니다.

데이터베이스가 어디에 있어야 하는지에 대한 경쟁적인 구현이 있고 locate아마도 경쟁적인 아이디어가 있을 수 있으므로 데이터베이스가 숨겨져 있을 수 있는 모든 장소를 찾으려면 몇 가지 버전을 찾아내야 할 수도 있습니다. (이미 컴퓨터에 있었다면 할 수 있습니다 locate locatedb!)

내 데비안 컴퓨터에서는/var/cache/locate/locatedb

답변2

inode와 superblock에 대해 묻는 것 같습니다. 보다:http://www.linfo.org/superblock그리고en.wikipedia.org/wiki/Inode

파일 시스템에는 그 자체로 포함된 모든 파일과 디렉터리를 추적하기 위해 "마스터 파일"이 필요하지 않습니다. 그래서 나는 아니라고 말하고 싶습니다. 없습니다."디렉토리 구조와 이러한 디렉토리에 포함된 파일에 대한 정보를 보유하는 Linux 시스템에 일반적으로 존재하는 파일".

그러나 inode와 슈퍼 블록을 사용하면 파일 시스템이 모든 파일과 디렉터리를 추적합니다. 그러나 분산되고 중앙 집중화되지 않은 방식으로 이루어집니다.

관련 정보