Мой сайт, кажется, захвачен ... но только при посещении с другого сайта ... как?

16

Мой сайт altoonadesign.com, если вы наберете его прямо в браузере, он перейдет на правильный сайт. Однако, если вы выполните поиск «altoona design» и нажмете на ссылку на мой сайт, вы будете перенаправлены на вредоносный сайт.

Я пробовал это в Google на Chrome и в Bing на IE. на разных компьютерах всегда с одинаковыми результатами. введя URL-адрес, вы попадете на мой реальный сайт, щелкнув ссылку в результатах поиска, и вы попадете на вредоносный сайт.

Я не уверен, как это происходит, как отменить это или как предотвратить это в будущем?

Обновить

щелкнув ссылку отсюда, вы попадете на вредоносный сайт, поэтому кажется, что щелкнув ссылку, вы это сделаете, но ввод ее напрямую не перенаправит вас ... как это?

JD Исаакс
источник

Ответы:

13

При просмотре источника вашей страницы внизу есть код, который не выглядит так, как вы его там поместили:

<div style='position:absolute;left:-2125px;width:1024px'><a href='http://www.asrtu.org/trust_crcks/passware-myob-key-crack.html'>Passware MYOB Key crack</a></div><div style='position:absolute;left:-2125px;width:1024px'><a href='http://www.asrtu.org/trust_crcks/newstarsoccer-crack.html'>NewStarSoccer crack</a></div><div style='position:absolute;left:-2125px;width:1024px'><a href='http://www.asrtu.org/trust_crcks/pcsentinels-busted-crack.html'>PCSentinels Busted crack</a></div><div style='position:absolute;left:-2125px;width:1024px'><a href='http://www.asrtu.org/trust_crcks/3dmark2001-crack.html'>3DMark2001 crack</a></div><div style='position:absolute;left:-2125px;width:1024px'><a href='http://www.asrtu.org/trust_crcks/acdsee50powerpack-crack.html'>ACDSee50PowerPack crack</a></div><div style='position:absolute;left:-2125px;width:1024px'><a href='http://keygen-0day.ws/database/My%20TypeArtist%201.000B/'>My TypeArtist 1.000B</a></div></body> 
<!-- InstanceEnd --></html> 
<script>check_content()</script>check_content()</script>

При использовании fiddler и доступе к вашему сайту через Google, я вижу, что он сначала переходит на ваш домен, а затем перенаправляется до загрузки всей вашей страницы.

Проверьте ваш php-код, они, вероятно, вставили какой-нибудь код перенаправления на вашу страницу.

Эд Б
источник
20

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

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

Эндрю Айлетт
источник
4
+1 за объяснение "почему". Довольно умный.
BalusC
Спасибо, могу порекомендовать, как я это выследил и исправил. я должен просто начать просматривать все файлы на моем сайте? Благодарность!
Джей Ди Айзекс
Если у вас есть недавняя резервная копия (или система контроля версий), используйте ее :). В противном случае начните поиск недавно измененных файлов, файлов, измененных пользователем веб-сервера, или файлов, содержащих «реферер». Скорее всего, код будет хотя бы слегка запутан, поэтому поиск может не сработать. Далее ищите точку входа - вы не хотите оставлять ее открытой :). Я предполагаю, что вы используете PHP, и неконтролируемое включение наиболее вероятно.
Эндрю Айлетт
4

Прежде всего, это вопрос программирования , я абсолютно не знаю, что это делает на Serverfault.

В вашем php-приложении есть уязвимость, и вам нужно ее найти и исправить. Сначала я хотел бы убедиться, что все ваши библиотеки PHP обновлены. Уязвимость в phpmailer или smarty может позволить хакеру взломать ваш сайт.

Затем я бы сканировал ваш сайт с помощью чего-то вроде Acunetix ($) или NTOSpider ($$$). Хорошая альтернатива с открытым исходным кодом изюбрь и w3af . Эти сканеры могут найти уязвимости, такие как неправильное использование eval()которых может привести к атаке такого типа.

Затем вы должны заблокировать php с помощью phpsecinfo , убедитесь display_errors=off. Если у вас есть серверная часть MySQL, обязательно отключите file_priv(права доступа к файлам) для учетной записи MySQL, используемой PHP.

Вот несколько хороших ресурсов для написания безопасного кода PHP:

http://phpsec.org/library/

http://www.owasp.org/index.php/Category:OWASP_Top_Ten_Project

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

ладья
источник
Ладья, первоначальный недостаток - почти наверняка проблема программирования. Но если бы сервер был настроен и безопасность была должным образом усилена, программный недостаток, возможно, не был бы эксплуатируемым. Мне также любопытно, как вы можете быть на 100% уверены, что недостаток в программном обеспечении, которое он разработал, а не в какой-то конфигурации ОС или каком-либо другом инструменте. Если резервные копии работают правильно, то «исправление» проблемы может быть легко выполнено путем быстрого восстановления.
Зоредаче
@Zoredache ваше право, что проблема может быть проблема с конфигурацией или уязвимость в другом сервисе. Однако многие эксплойты работают независимо от конфигурации или параметров безопасности, таких как внедрение SQL. Даже с AppArmor и SELinux систему можно легко эксплуатировать.
Ладья