Mon site semble avoir été détourné… mais seulement lorsqu'il est visité depuis un autre site… comment?

16

Mon site Web est altoonadesign.com si vous le saisissez directement dans votre navigateur, il vous amène au bon site. Cependant, si vous effectuez une recherche sur "altoona design" et cliquez sur le lien vers mon site, vous êtes redirigé vers un site malveillant.

J'ai essayé cela dans google sur chrome et dans bing sur IE. sur différents ordinateurs toujours avec les mêmes résultats. taper l'URL vous amène directement à mon site réel, en cliquant sur le lien dans les résultats de la recherche vous redirige vers le site malveillant.

Je ne sais pas comment cela se produit, comment l'annuler ou comment l'empêcher à l'avenir?

mise à jour

cliquer sur le lien d'ici vous amène également au site malveillant, donc il semble que cliquer sur un lien est ce que ça fait, mais le taper directement ne vous redirige pas ... comment est-ce?

JD Isaacks
la source

Réponses:

13

Lorsque vous consultez la source de votre page, il y a du code en bas qui ne ressemble pas à ce que vous y avez mis:

<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>

Lorsque vous utilisez fiddler et accédez à votre site via google, je peux voir qu'il va d'abord à votre domaine, puis qu'il est redirigé avant le chargement de votre page entière.

Vérifiez votre code php, ils ont probablement mis du code de redirection dans votre page.

Ed B
la source
20

Je n'ai pas réellement suivi votre lien (pas de désir de rencontrer un exploit zero-day), mais ce qui se produit souvent lorsqu'un serveur a été piraté, c'est que du code est placé dans tous les fichiers PHP pour vérifier l'en-tête du référent et rediriger soit si la visite provient d'un moteur de recherche ou s'il ne provient pas du site actuel.

Ceci est fait pour essayer d'empêcher le propriétaire du site de réaliser que le hack est en place, car vous visiterez probablement le site directement plutôt que de le trouver via un moteur de recherche.

Andrew Aylett
la source
4
+1 pour expliquer le "pourquoi". Assez intelligent.
BalusC
Merci, je peux recommander comment je peux le retrouver et le réparer. dois-je commencer à parcourir tous les fichiers de mon site? Merci!
JD Isaacks
Si vous avez une sauvegarde récente (ou contrôle de source), utilisez-la :). Sinon, commencez à regarder les fichiers récemment modifiés, les fichiers modifiés par l'utilisateur du serveur Web ou les fichiers contenant "referrer". Il y a de fortes chances que le code soit au moins légèrement obscurci, donc la recherche pourrait ne pas fonctionner. Ensuite, recherchez le point d'entrée - vous ne voulez pas le laisser ouvert :). Je suppose que vous utilisez PHP, et une inclusion non cochée est très probablement.
Andrew Aylett
4

C'est avant tout une question de programmation , je n'ai absolument aucune idée de ce que cela fait sur Serverfault.

Il existe une vulnérabilité dans votre application Web PHP et vous devez la trouver et la corriger. D'abord, j'irais bien et m'assurerais que toutes vos bibliothèques PHP sont à jour. Une vulnérabilité dans phpmailer ou smarty peut laisser un pirate pénétrer votre site.

Ensuite, je scannerais votre site avec quelque chose comme Acunetix ($) ou NTOSpider ($$$). Une bonne alternative open source est wapiti et w3af . Ces scanners peuvent trouver des vulnérabilités telles que des abus eval()qui peuvent conduire à ce type d'attaque.

Ensuite, vous devez verrouiller php en utilisant phpsecinfo , assurez-vous display_errors=off. Si vous avez un backend MySQL, assurez-vous de désactiver file_priv(privilèges de fichier) pour le compte MySQL utilisé par PHP.

Voici quelques bonnes ressources pour écrire du code PHP sécurisé:

http://phpsec.org/library/

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

Évitez également le FTP comme la peste, il existe plusieurs vers qui se propagent en ce moment en reniflant votre machine locale pour les connexions FTP, puis en infectant votre site. Assurez-vous également que vous exécutez un anti-virus sur toutes les machines ayant accès au serveur, même s'il est juste gratuit comme AVG.

Tour
la source
Tour, la faille initiale est presque certainement un problème de programmation. Mais si le serveur était configuré et que la sécurité avait été renforcée correctement, la faille logicielle n'aurait peut-être pas été exploitable. Je suis également curieux de savoir comment vous pourriez être sûr à 100% que le défaut est dans le logiciel qu'il a développé et non dans une configuration de l'OS ou quelque chose d'autre. Si les sauvegardes s'exécutaient correctement, le problème pourrait être facilement résolu par une restauration rapide.
Zoredache
@Zoredache votre droit que le problème pourrait être un problème de configuration ou une vulnérabilité dans un autre service. Cependant, de nombreux exploits fonctionnent indépendamment de la configuration ou des paramètres de sécurité, tels que l'injection SQL. Même avec AppArmor et SELinux, un système peut toujours être exploité facilement.
Rook