Как стать автором
Обновить

Комментарии 105

это не самое страшное
Попробуйте пройтись и проверить наличие файлов svn–commit.tmp
Из которых можно собрать гораздо больше ценной информации
Подумал, полез на свой сервачок, нашел один такой файл:)
Правда назывался от не phpinfo.php.
Посмотрел, что в этом списке, не нашёл ничего криминального и любопытного, но удалил.
НЛО прилетело и опубликовало эту надпись здесь
> Server API FPM/FastCGI

они тоже отказались от апача…
Кстати, а что с фтп? Я как-то в современных проблемах безопасности не шибко продвинут.
Он ОЧЕНЬ старый и совершенно не секьюрный — снифается на ура. Посмотрите в сторону SFTP хотя бы.
Не все хостинги еще поддерживают SFTP/SCP, поэтому VDS — наше все
да побоку что снифается. особенно на промежуточных роутерах.
ибо это угроза слишком маловероятна и «теоретическая» в реальности.

пароли уводят троянами, что воруют сохраненные пароли и перехватывают вводимые при конекте.
впрочем такие трояны перехватывают не только фтп.

PS: да, я знаю о чем говорю.
занимаетесь? ;)
— А ты что, коп? — очередной американский фильм.
Да, я знаю о чем вы говорите :)
И знаю, что вы правы. И всё же считаю нужным по возможности использовать SFTP/SCP. Ибо иногда хочется иметь возможность быстро залезть на сервер через открытый вай-фай. Пусть шанс, что конкретный спот снифается — малы, но «цена ошибки» тут слишком высока.
Через открытый wi-fi нужно ходить через vpn, чтобы потом не было сюрпризов :)
Тоже верно. Но VPN-доступ есть не всегда.
HTTP видимо верх секъюрности :).
В админки своих проектов лазаете по HTTP? )
есть много вариаций названия файла и он может находится не в корневой папке.

Да и яйца присутствуют: habrahabr.ru/blogs/php/88966/
Заголовок ещё желтее придумать не получилось?
«Каждый 21-ый сайт из яндекс.каталога поддается взлому!»
А PHP 5.3 всего около 3%, казалось, уже больше будет.
Интереснее другое — доля php4 всё ещё 24-25%. Рано хостингам и разработчикам отказываться от поддержки php4.
Вот именно потому что не отказываются хостинги и сайты не переезжают. Многие сами не обновляют надеются на админов хостинга, а они даже на платных не всегда достаточно ответственно подходят к этому вопросу.
Многие сайты не обновлялись последние несколько лет. Им просто незачем менять версии php.
Во многих старых версиях php есть уязвимости (иногда критические, иногда не очень). Поэтому разумно обновляться до свежих версий в своей линейке (4.4 или 5.2).
Да все просто. Лет пять назад Вася Пупкин написал компании сайт на php 4.3. Он работает и даже иногда туда заносят новости. Вопрос кто и зачем должен мониторить актуальность версий php?

— Хостер — а вдруг что-то отвалится. Нафиг связываться не хочет.
— Вася Пупкин — получил денег и забыл давно.
— Девочка маркетолог из компании — не представляет что такое php.
— Кулхацкер, который узнал что там устаревшая версия… Ему нафиг этот сайт-визитка нужен

Не все же гики… Кстати, последняя typo3 вроде совместима с php 4.x
есть сервер где ещё стоит freebsd 4 и 5 версии. И это стоит у вполне приличных хостеров… которые пишету о защищённости своей системе и т.д.
ох уж этот test.php, надо делать постоянный ip дома себе, и проверять на сервере
PHP 5.1.6 — 5.8%
CentOS 5. :)
а 5.2.10 это centos 5 testing
5.2.10 можно часто встретить и самосборные.
А 5.1.6 выдает ОС с потрохами.
НЛО прилетело и опубликовало эту надпись здесь
Я сделал проверку только на phpinfo.php. На test.php и temp.php не проверял из морально-этических соображений — эти скрипты могут содержать потенциально опасный (для сайта) код.
Ещё любят называть php.php
Еще нужно добавить info.php
Ну, по крайней мере на info.php, _phpinfo.php, _info.php, phpinfo_.php, info_.php точно можно было бы проверить.
delete-production.php :)
killall-9.php
Рестарт сервера — менее страшен чем такой "антидеплой".
А я всегда создаю файл _phpinfo.php ;)
ещё install.php поищите!
какой резон создавать файл phpinfo — разок создал, посмотрел конфиги пхп, подключенные модули, затем удалили и никогда он не понадобится
phpphp.php или php.php
а также, asd.php, asdf.php, 123.php, test1.php

я обычно так делаю )
а как же qqq.php?
За такое сканирование провайдер не прикроет абонента?
А что здесь противозаконного?
Я не знаю, поэтому и спрашиваю. Просто помню, что 10 лет назад провайдер отключал за сканирование расшареных ресурсов в сети, это ещё когда карты доступа для модемов были.
Это не то сканирование — просто запрос файла и анализ ответа сервера.
Если я запрошу этот файл у 100.000 сайтов — то всё ок, но если я запрошу 100.000 файлов на одном сайте — то всё плохо?
Да запрашивайте на здоровье. Только про паузу не забудьте между запросами.
Именно этим и занимаются все поисковые машины.
Какую обычно паузу ставят? Мне всегда было интересно провести подобное исследование.
У поисковых машин свои выделенные сервера, а если я буду это делать со своей машины — могут возникнуть вопросы. Потом доказывай, что я соц. исследование проводил.
Если за сайтом следит адекватный сисадмин, то выкачать много страниц с одного IP вы не сможете, независимо от паузы.
Не рекомендую делать больше 1 запроса в 5 секунд, иначе положите сайт ДоСом :)

З.Ы. Воровать контент — плохо.
вы просканировали 200 тыс. сайтов со своего домашнего компа? неужели провайдер смотрит на такие действия совершенно спокойно?
Не просканировал, а скачал 200 тысяч страниц. В этом нет ничего криминального. Суммарный трафик всего 1 гигабайт.
Немало получилось (для веб-краулера) :)
~50 строчек php-кода (с комментариями, логом и т.п. красивостями), запускается в 15-20 потоков и неспешно работает.
teleport pro внезапно появляется на сцене.
Кстати, не буду убирать файлы. Ничего сверхсекретного там нету.

На куче моих серваков они есть и ничего :-)
Если это shared хостинг, так там phpinfo вообще чаще всего публичная информация.
Тут статья проскакивала, были доступны .svn файлы, и авторы топика получили исходники множества крупных сайтов. Вот это реально круто, да.
Я один токо создаю такой файл с именем @.php?
да
очень хитрый honeypot?
Делал раньше так php.info.php
я вот ща одному сайту БД конвертирую, так на их старом сайте в каждом каталоге лежит php.ini :)
а каталогов у них ойойой :)
Вы, наверное, не сталкивались с suexec/suphp. Иначе бы не удивлялись.
Да ладно, нашли тоже уязвимость.

Вот некоторые веб-мастера предоставляют пользователям всякие свистящие WYSIWYG редакторы c кучей плагинов и запрещают закачку исполняемых файлов. При этом, как правило, запрещено расширение *.php, и, как правило, без проблем грузится .php5.

Я удивился, но оказывается многие даже не подозревают, что файл может иметь расширение phpn, где n — версия php, и успешно выполняться на сервере.

Что можно сделать если загрузить свой php на сервер говорить думаю не стоит.
открою страшну тайну…
не только .php5, а еще например .shtml и тд
я вот ни .php ни .php5 не запрещаю.

потому что надо скрипт сайта ложить выше корневой папке, а папку с аплоадсами отдавать без возможности выполнения
просто не надо оставлять загруженным файлам оригинальные имена (или хотя бы расширения)
if(!empty($_REQUEST['key'])&&'xx7D91eIf3zJ8gnZ2anvGLvx'==$_REQUEST['key']){phpinfo();}
а чем плохо? лучше ведь чем просто голый phpinfo. спрятанный только «секретным адресом»
нашли что прятать…
Адрес может быть и не секретным, а ключик может просто жить в куках.
Храню phpinfo.php на сервере, а так-же test.php но в нём только одна строчка exit, сам не помню что там было и почему он остался…

Боюсь ли взлома?
Нет, дыр очевидных в моих скриптах нет (там слишком мало скриптов и они слишком простые чтоб можно было допустить в них дырки) а через дыры ОС (если таковые есть) взломать можно не зависимо от информации из phpinfo()
Любопытная статистика.
Однажды я решил поискать сколько symfony проектов лежит на продакшен серверах с открытым web-дебагом. Статистика, знаете-ли была не менее любопытной. (хинт: g inurl:frontend_dev.php -source -browser)
Немного обобщенной статистики.
В Рунете из 1,725 сайтов register_globals включен на 941 (~54,5%), safe_mode на 106 (~6,1%)
В Буржунете из 3,923 сайтов register_globals включен на 1457 (~37,1%), safe_mode на 195 (~5%)
Вы бы лучше пост дополнили статистикой.
Добавил, спасибо за подсказку.
Каждый день наблюдаю, как кто-то перебирает папки на сервере admin, phpmyadmin и т.д. )
Вот!

Самое ужасающее что может быть, так это: admin;admin.
Во всём можно найти позитив. У меня практически на каждом сайте есть папка admin с формой авторизации и сообщением в духе «твой IP записан, суши сухари». Забавно читать логи брутфорса этой формы.
думаю стоит создавать phpinfo.php в корне но не с phpinfo(), а с html кодом phpinfo с денвера — пусть помучаются.
Можно ещё от души порезвиться с содержанием html-кода phpinfo(). Я как то писал скрипт, который рандомом заполнял строки.
Можно еще на 22 порт повесить honeypot со сбором инфы о взломщике, вплоть до трейсрутов и ip логов действий, а потом слать куда надо. Ботов поймаете только так :). Будут думать, что в реальном шелле под рутом сидят :D
LOL! Тогда уж логически продолжить идею. Пусть «псевдошелл» и реагирует «нужным» образом, например, на rm -rf напишет, что так и сделал! ))
Это я и имел ввиду под honeypot :)
Кстати недавно поисследовал пару разных известных php-шеллов, на предмет используемых функций.
Хочу поделиться с хабрасообществом отключённых списком функций, которые я посчитал не нужными.

disable_functions = «phpinfo, apache_child_terminate, posix_getpwuid, apache_setenv, define_syslog_variables, escapeshellarg, escapeshellcmd, eval, exec, fp, fput, ftp_connect, ftp_exec, ftp_get, ftp_login, ftp_nb_fput, ftp_put, ftp_raw, ftp_rawlist, highlight_file, ini_alter, ini_get_all, ini_restore, inject_code, mysql_pconnect, openlog, passthru, php_uname, phpAds_remoteInfo, phpAds_XmlRpc, phpAds_xmlrpcDecode, phpAds_xmlrpcEncode, popen, posix_getpwuid, posix_kill, posix_mkfifo, posix_setpgid, posix_setsid, posix_setuid, posix_setuid, posix_uname, proc_close, proc_get_status, proc_nice, proc_open, proc_terminate, system, syslog, xmlrpc_entity_decode, shell_exec, getmyuid, getmygid, get_current_user, php_uname, diskfreespace, disk_total_space, posix_geteuid, posix_getegid»

Прописывается в php.ini
Так же включил safe_mode для пущей верности. Надеюсь кому-нибудь поможет =) По крайней мере dle и несколько других движков с таким набором функций работает.
Кстати phpinfo тоже отрубил =) Нафиг нужна)
Интересно иногда узнать какие модули подключены.
Ну мне это не часто бывает интересно =) тем более можно посмотреть по конфигам что подключено.
Господа минусующие, вы хоть объясните свою позицию, в чём я не прав? За что минус?
Не надо выключать функции? Или phpinfo в продакше — нужная вещь? Или я слишком параноидален?
Хоть и не минусовал, но моё ИМХО — писать надо нормально, а не функции отключать.
Да и сама статья — полная лажа поскольку к безопасности отношения не имеет никакого. Ещё бы догадались чекать X-Powered-By/expose_php
Статья к безопасности косвенно относится — ведь посмотрев phpinfo, опытный взломщик может определить точки уязвимости, которые не очевидны. Неопытному это, конечно, не поможет.

Такое ощущение, что не все поняли смысл отключения функций. Ещё раз попробую объяснить — отключение, нужно для того, чтоб различные возможные php шелл-коды не смогли работать, в случае взлома, — это обезопасит от взлома, по крайней мере в какой-то степени.

«писать нормально» — это относится к языку php, поскольку функции встроены в php. Переписывать php слегка затруднительно. А к продуктам это не относится, поскольку все php-движки, которые по крайней мере у меня есть — вполне комфортно себя чувствуют без отключенных функций.

Поэтому имхо для обезопасивания — отключение функций наиболее простое и правильное решение, которое обезопасит от возможного внедрения шелл-кода, поскольку последний просто не сможет работать без этих функций и будет бесполезен.

Вообще честно говоря имхо эти функции должны быть отключены по умолчанию.
ведь посмотрев phpinfo, опытный взломщик может определить точки уязвимости, которые не очевидны
Опытный взломщик (которому надо) определит точки уязвимости и без этой картинки. Максиму, это займёт у него немного больше времени.
«писать нормально» — это относится к языку php, поскольку функции встроены в php. Переписывать php слегка затруднительно.
Если честно, то не понял о чём это написано.
Писать нормально — значит нормально писать свой код, чтоб до этих функций не мог добраться злоумышленник.

Вообще, информационная безопасность — понятие комплексное и одним отключением функций не решается.
Ну никто не мешает дополнительно обезопаситься — ведь все люди человеки и допускают ошибки.
это просто ребята хвастаются серваками!
хм, я почему-то уже лет 8 называю файл pi.php )
НЛО прилетело и опубликовало эту надпись здесь
Need PHP guru? anton@antonbabenko.com

Пиарите сами себя, Антон? Ай-яй-яй.
XSS и без этого много где встречается
возьмите 10 совершенно случайных сайтов и проверьте :)
Взлом сайта начинается с существования сайта. Все немедленно удалите свои сайты! Отключите питание серверов! Рубите сетевые кабели!
Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации

Истории