Meine Website scheint entführt zu werden ... aber nur, wenn sie von einer anderen Website aus besucht wird ... wie?

16

Meine Website ist altoonadesign.com. Wenn Sie sie direkt in Ihren Browser eingeben, gelangen Sie zur richtigen Website. Wenn Sie jedoch nach "altoona design" suchen und auf den Link zu meiner Website klicken, werden Sie zu einer schädlichen Website weitergeleitet.

Ich habe dies in Google auf Chrome und in Bing auf IE versucht. auf verschiedenen Computern immer mit den gleichen Ergebnissen. Wenn Sie die URL direkt eingeben, gelangen Sie zu meiner Website. Klicken Sie auf den Link in den Suchergebnissen, um zur schädlichen Website zu gelangen.

Ich bin nicht sicher, wie dies geschieht, wie ich es rückgängig machen oder wie ich es in Zukunft verhindern kann.

aktualisieren

Wenn Sie von hier aus auf den Link klicken, gelangen Sie ebenfalls zu der schädlichen Website. Wenn Sie also auf einen Link klicken, wird dies möglicherweise ausgeführt. Wenn Sie ihn jedoch direkt eingeben, werden Sie nicht weitergeleitet. Wie ist das?

JD Isaacks
quelle

Antworten:

13

Beim Anzeigen der Quelle Ihrer Seite befindet sich unten ein Code, der nicht so aussieht, wie Sie ihn dort angegeben haben:

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

Wenn Sie Fiddler verwenden und über Google auf Ihre Website zugreifen, kann ich feststellen, dass die Website an erster Stelle Ihrer Domain geschaltet wird und dann weitergeleitet wird, bevor Ihre gesamte Seite geladen wird.

Überprüfen Sie Ihren PHP-Code, wahrscheinlich haben sie einen Redirect-Code in Ihre Seite eingefügt.

Ed B
quelle
20

Ich bin Ihrem Link nicht wirklich gefolgt (kein Wunsch, einen Zero-Day-Exploit durchzuführen), aber was häufig passiert, wenn ein Server gehackt wurde, ist, dass Code in PHP-Dateien eingefügt wird, um den Referrer-Header zu überprüfen und entweder beim Besuch umzuleiten stammt von einer Suchmaschine oder von einer anderen Site als der aktuellen.

Auf diese Weise soll verhindert werden, dass der Eigentümer der Website erkennt, dass der Hack vorhanden ist, da Sie die Website in der Regel direkt besuchen, anstatt sie über eine Suchmaschine zu finden.

Andrew Aylett
quelle
4
+1 zur Erklärung des "Warum". Ziemlich schlau.
BalusC
Danke, kann empfehlen, wie ich es ausfindig mache und es behebe. soll ich einfach anfangen, alle Dateien auf meiner Site zu durchsuchen? Vielen Dank!
JD Isaacks am
Wenn Sie eine aktuelle Sicherung (oder Quellcodeverwaltung) haben, verwenden Sie diese :). Andernfalls sollten Sie sich kürzlich geänderte Dateien, vom Webserver-Benutzer geänderte Dateien oder Dateien mit "referrer" ansehen. Es besteht die Möglichkeit, dass der Code zumindest leicht verschleiert ist, sodass die Suche möglicherweise nicht funktioniert. Als nächstes suchen Sie nach dem Einstiegspunkt - Sie möchten ihn nicht offen lassen :). Ich gehe davon aus, dass Sie PHP verwenden und ein ungeprüftes Include am wahrscheinlichsten ist.
Andrew Aylett
4

In erster Linie ist dies eine Programmierfrage , ich habe absolut keine Ahnung, was dies auf Serverfault tut.

Es gibt eine Schwachstelle in Ihrer PHP-Webanwendung und Sie müssen sie finden und patchen. Zuerst würde ich jedoch sicherstellen, dass alle Ihre PHP-Bibliotheken auf dem neuesten Stand sind. Eine Sicherheitslücke in phpmailer oder smarty kann dazu führen, dass ein Hacker in Ihre Website eindringt.

Als nächstes würde ich Ihre Website mit etwas wie Acunetix ($) oder NTOSpider ($$$) scannen. Eine gute Open-Source-Alternative sind Wapiti und W3af . Diese Scanner können Sicherheitslücken finden, deren Missbrauch zu solchen Angriffen eval()führen kann.

Als nächstes sollten Sie PHP mit phpsecinfo sperren , stellen Sie sicher display_errors=off. Wenn Sie ein MySQL-Backend haben, stellen Sie sicher, dass Sie file_priv(Dateiberechtigungen) für das von PHP verwendete MySQL-Konto deaktivieren .

Hier sind einige gute Ressourcen zum Schreiben von sicherem PHP-Code:

http://phpsec.org/library/

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

Vermeiden Sie auch FTP wie die Seuche. Es gibt mehrere Würmer, die sich gerade ausbreiten, indem Sie Ihren lokalen Computer nach FTP-Anmeldungen durchsuchen und dann Ihre Site infizieren. Stellen Sie außerdem sicher, dass Sie auf allen Computern mit Zugriff auf den Server ein Virenschutzprogramm ausführen, auch wenn es sich nur um ein kostenloses System wie AVG handelt.

Turm
quelle
Rook, der anfängliche Fehler ist mit ziemlicher Sicherheit ein Programmierproblem. Wenn der Server jedoch eingerichtet und die Sicherheit ordnungsgemäß gehärtet worden wäre, wäre der Softwarefehler möglicherweise nicht ausnutzbar gewesen. Ich bin auch neugierig, wie Sie zu 100% sicher sein können, dass der Fehler in der von ihm entwickelten Software liegt und nicht in einer Konfiguration des Betriebssystems oder einem anderen Tool. Wenn Sicherungen ordnungsgemäß ausgeführt werden, kann das Problem leicht durch eine schnelle Wiederherstellung behoben werden.
Zoredache
@Zoredache Sie haben das Recht, dass das Problem ein Problem mit der Konfiguration oder eine Sicherheitsanfälligkeit in einem anderen Dienst sein könnte. Viele Exploits funktionieren jedoch unabhängig von Konfiguration oder Sicherheitseinstellungen, z. B. SQL Injection. Auch mit AppArmor und SELinux kann ein System problemlos ausgenutzt werden.
Rook