Os fatos:
- existe um site
- este site pode ser acessado em www.example.org
- existe uma instância do EC2 que provavelmente mantém o site
- o servidor é Apache
- o sistema operacional do servidor é Ubuntu
- Eu tenho acesso total ao servidor (e privilégios sudo)
- o servidor está uma bagunça enorme
O problema é que não tenho idéia de onde - basta colocar - encontrar o index.html / index.php que é carregado.
Como faço para descobrir onde encontrar o código PHP e HTML do site? Existe uma abordagem sistemática para esse problema?
apache-2.2
ubuntu
php
Raffael
fonte
fonte
find / -name nameofsomefileonthewebsite.html
?Respostas:
Antes de tudo, você deve verificar quais sites estão hospedados no servidor
Então, quando você encontrar um site, verifique o arquivo de configuração correspondente para a opção DocumentRoot. Por exemplo
Você quer saber onde fica um site example.net
Você também deve prestar atenção em qualquer diretiva de alias. Por exemplo, com as seguintes configurações
Quando você acessará http://example.net/some.file.html - o apache consultará o arquivo em / vhosts / default / public_html /, ao mesmo tempo em http://example.net/api/some.file .html, o arquivo será visualizado em / vhosts / default / public_api /.
E quanto a reescritas / redirecionamentos, especialmente programáticos (quando os redirecionamentos são acionados por algum código php), acho que não há uma maneira fácil de encontrar esses casos.
fonte
Tente usar o find
Caso contrário, assumindo Apache foi instalado a partir de repositórios do Ubuntu, olhar em
/etc/apache2/sites-available
, ou seja,Se o site tiver um VHOST apache definido, que pode localizar o arquivo de configuração, procure nesse arquivo e
"documentroot"
informe a localização do código-fontefonte
-type f
está se aplicando apenas ao-iname "*index.html*"
seu comando. Deverá ser-type f \( -iname "*index.html*" -o -name "*index.php*" \)
Outro método, que pode ser útil para depurar um site (ou qualquer outro processo) é usar
lsof
(que pode não estar no caminho, geralmente encontrado em/sbin/lsof
)lsof -s [PID]
listará todos os arquivos nos quais o processo especificado é manipulado e pode ser útil para ver exatamente o que está sendo usado (isso inclui os arquivos html / php, além de arquivos de log e bibliotecas que o site precisa)fonte
Procure por arquivos de origem da página
Uma abordagem é navegar no site para encontrar uma página mais exclusiva - digamos newcontactform.php - idealmente uma que dificilmente apareça em outros sites hospedados no mesmo servidor.
Você pode tentar
se isso falhar, siga por
isso deve produzir uma lista gerenciávelmente pequena de candidatos.
Você pode inspecionar os arquivos, fazer diferenças e, se necessário, tentar pequenas alterações (por exemplo, inserir um comentário HTML) para verificar se o arquivo realmente produz a página.
Encontre as configurações
Às vezes, os arquivos de configuração são evidentes na saída do
ps
comando. Na pior das hipóteses, vale a pena explorar ops -ef | grep -e 'apache|httpd'
uso mais criativo deps
opções.Você pode procurar
httpd.conf
nos locais típicos do Ubuntu e do projeto httpd Apache (que podem ser diferentes) ou apenas usarlocate
efind
como acima.Às vezes, o arquivo de configuração principal se refere a outros arquivos de configuração para vhosts. Você pode resolver isso identificando o arquivo de configuração principal.
Casos crônicos
Às vezes, servidores antigos executam uma variedade de daemons de servidor da web. Nesse caso, pode demorar um pouco para encontrar todos eles e descobrir onde estão os arquivos de configuração. Uma combinação das técnicas acima deve ter êxito.
Você pode encontrar quais programas estão ouvindo na porta 80, etc, usando
netstat -lntp
. Freqüentemente, localizar os binários é um ponteiro útil para uma árvore de diretórios que contém os arquivos de configuração.fonte
Você pode verificar o Vhost para o domínio que está procurando no arquivo de configuração do servidor web (apache) - httpd.conf (provavelmente localizado em / etc /) Simplesmente abra o arquivo e role-o até encontrar a diretiva VirtulaHost para seu domínio e você verá a diretiva DocumentRoot - que é o diretório raiz do documento do seu site, o local onde você encontrará os arquivos do aplicativo.
fonte
Por favor vá a
cd / etc / apache2 / disponível no site /
Aqui você encontrará seu arquivo de configuração (por exemplo: 000-default.conf)
Por favor, abra este arquivo / abra seu arquivo de configuração usando
vi 000-default.conf
Lá você encontrará o DocumentRoot. Esse é o código do seu site
Este é o arquivo conf padrão. Da mesma forma, você encontrará alguns detalhes de conf. Verifique-os também.
fonte