Arquivo contendo estrutura de diretórios

Arquivo contendo estrutura de diretórios

Atualmente estou fazendo um desafio CTF e extraí o que presumo ser o sinalizador injetando um caminho relativo no $filenameparâmetro de uma chamada para a função PHP

file_get_contents($filename)

que é executado por um servidor Apache no sistema de destino.

Consegui o nome do arquivo em que o sinalizador estava oculto por meio de uma dica em algum outro ponto, mas fiquei pensando:

Existe um arquivo comumente presente em um sistema Linux que contém informações sobre a estrutura de diretórios e os arquivos contidos nesses diretórios?

Tentei pesquisar vários arquivos de log para encontrar referências a arquivos interessantes, mas ainda não encontrei uma lista detalhada de nomes de arquivos. Também não tenho permissão para ler arquivos inteiros do dispositivo. Eu tenho controle total sobre o $filenameparâmetro, mas pelo que entendi, só posso inserir caminhos absolutos ou relativos sem curingas.

Responder1

O locatecomando, instalado na maioria das máquinas Linux, obtém suas informações de um banco de dados que contém todos os caminhos do sistema. Um cron job mantém esse banco de dados.

Existem implementações concorrentes locatee provavelmente ideias concorrentes sobre onde o banco de dados deveria estar, então você pode ter que desenterrar algumas versões para encontrar todos os lugares onde ele pode estar escondido. (Se você já estivesse na máquina, você poderia locate locatedb!)

Na minha máquina Debian é/var/cache/locate/locatedb

Responder2

Parece que você está perguntando sobre os inodes e o superbloco. Ver:http://www.linfo.org/superblockeen.wikipedia.org/wiki/Inode

Os sistemas de arquivos não precisam de um "arquivo mestre" para controlar todos os arquivos e diretórios contidos neles, por si só. Então, eu diria que não, não há"arquivo comumente presente em um sistema Linux que contém informações sobre a estrutura de diretórios e os arquivos contidos nesses diretórios".

No entanto, através do uso de inodes e do superbloco, os sistemas de arquivos controlam todos os arquivos e diretórios. Mas de forma distribuída e não centralizada.

informação relacionada