Факты:
- есть сайт
- этот сайт доступен через www.example.org
- есть экземпляр EC2, который очень вероятно сохраняет веб-сайт
- сервер Apache
- ОС сервера - это Ubuntu
- У меня полный доступ к серверу (и привилегии sudo)
- сервер огромный беспорядок
Проблема в том, что я понятия не имею, где, проще говоря, найти index.html / index.php, который загружается.
Как мне найти, где найти PHP и HTML код сайта? Есть ли системный подход к этой проблеме?
apache-2.2
ubuntu
php
Раффаэль
источник
источник
find / -name nameofsomefileonthewebsite.html
?Ответы:
Прежде всего вы должны проверить, какие сайты размещены на сервере.
Затем, когда вы найдете сайт, проверьте соответствующий файл конфигурации для опции DocumentRoot. Например
Вы хотите знать, где находится сайт example.net
Вам также следует обратить внимание на любые директивы псевдонимов. Например, со следующими настройками
Когда вы получите доступ к http://example.net/some.file.html - apache будет искать файл в / vhosts / default / public_html / одновременно с http://example.net/api/some.file .html файл будет просматриваться в / vhosts / default / public_api /.
Что касается перезаписей / переадресаций, особенно программных (когда перенаправления запускаются каким-то php-кодом), я думаю, что нет простого способа найти такие случаи.
источник
Попробуйте использовать поиск
В противном случае, если Apache установлен из репозиториев Ubuntu, посмотрите
/etc/apache2/sites-available
, т.е.Если на веб-сайте определен apache VHOST, который может найти конфигурационный файл, то посмотрите в этом файле,
"documentroot"
чтобы узнать местоположение исходного кода.источник
-type f
относится только к-iname "*index.html*"
вашей команде. Должно быть-type f \( -iname "*index.html*" -o -name "*index.php*" \)
Другой метод, который может быть полезен для отладки веб-сайта (или любого другого процесса в этом отношении), заключается в использовании
lsof
(которое может быть не по пути, обычно встречающемуся в/sbin/lsof
)lsof -s [PID]
перечислит все файлы, с которыми данный процесс имеет дескриптор, и может быть полезным, чтобы точно увидеть, что используется (включая ваши html / php файлы, а также файлы журналов и библиотеки, необходимые для сайта)источник
Ищите исходные файлы страницы
Один из подходов состоит в том, чтобы просмотреть сайт, чтобы найти более уникальную страницу - скажем, newcontactform.php - в идеале такую, которая вряд ли появится на других сайтах, размещенных на том же сервере.
Вы можете попробовать
если это не удается, следуйте
это должно привести к небольшому списку кандидатов.
Затем вы можете просмотреть файлы, выполнить сравнения и, если необходимо, попробовать внести небольшие изменения (например, вставить комментарий HTML), чтобы убедиться, что файл действительно создает страницу.
Найти конфиги
Иногда конфигурационные файлы видны в выводе
ps
команды. Худший случай -ps -ef | grep -e 'apache|httpd'
но более творческое использованиеps
стоит изучить опций.Вы можете искать
httpd.conf
в типичных местах для Ubuntu и для проекта Apache httpd (которые могут отличаться) или просто использоватьlocate
иfind
как указано выше.Иногда основной файл конфигурации относится к другим файлам конфигурации для vhosts. Вы можете решить это, указав основной файл конфигурации.
Хронические случаи
Иногда старые серверы запускают различные демоны веб-серверов. В этом случае может потребоваться некоторое время, чтобы найти их все и выяснить, где находятся их конфигурационные файлы. Комбинация методов, описанных выше, в конечном итоге должна быть успешной
Вы можете узнать, какие программы прослушивают порт 80 и т
netstat -lntp
. Д. Часто поиск двоичных файлов является полезным указателем на дерево каталогов, содержащее файлы конфигурации.источник
Вы можете проверить Vhost для домена, который вы ищете, в файле конфигурации веб-сервера (apache) - httpd.conf (скорее всего, находится в / etc /). Просто откройте файл и пролистайте его, пока не найдете директиву VirtulaHost для ваш домен, и там вы увидите директиву DocumentRoot - корневой каталог документов вашего сайта, место, где вы найдете файлы приложения.
источник
Пожалуйста, перейдите к
cd / etc / apache2 / site-avaliable /
Здесь вы найдете свой файл конфигурации (то есть: 000-default.conf)
Пожалуйста, откройте этот файл / откройте ваш файл конфигурации, используя
vi 000-default.conf
Там вы найдете DocumentRoot. Это код вашего сайта
Это файл конфигурации по умолчанию, так же вы получите некоторые подробности, пожалуйста, проверьте их.
источник