mediengestalter.info
FAQ :: Mitgliederliste :: MGi Team

Willkommen auf dem Portal für Mediengestalter

Aktuelles Datum und Uhrzeit: Fr 26.04.2024 17:11 Benutzername: Passwort: Auto-Login

Thema: Hilfe! Webseite "gehackt", Spammails verschickt // php vom 14.10.2010


Neues Thema eröffnen   Neue Antwort erstellen MGi Foren-Übersicht -> Programmierung -> Hilfe! Webseite "gehackt", Spammails verschickt // php
Autor Nachricht
Aenna81
Threadersteller

Dabei seit: 03.11.2007
Ort: Witten
Alter: 42
Geschlecht: Weiblich
Verfasst Do 14.10.2010 10:38
Titel

Hilfe! Webseite "gehackt", Spammails verschickt //

Antworten mit Zitat Zum Seitenanfang

Hallo zusammen,

eine von mir programmierte Webseite (liegt bei 1&1) wurde "gehackt".
Eine fremde php-Datei wurde auf dem Server gespeichert und tausende Spam-Mails wurden verschickt.
Es liegt an einer Sicherheitslücke in meinem PHP-Script, laut 1&1 an

/index.php $mode

Zur Webseite:
ich habe eine Index-Datei in die dann die einzelnen php-modes eingebunden sind. Der Code lautet
Code:

if($_GET[mode]=="")
                                       $main = "musterseite";
                                    else
                                       $main = $_GET[mode];
                                    include("$main.php");
   

Das ist wohl die Schwachstelle.

Gibt es eine einfache Lösung für dieses Problem?? Wenn ihr weitere Infos braucht, schreibt mir, ich bin nur momentan etwas überfordert.

Danke und LG,
Anna


Zuletzt bearbeitet von Smooth-Graphics am Do 14.10.2010 10:41, insgesamt 1-mal bearbeitet
  View user's profile Private Nachricht senden
Smooth-Graphics

Dabei seit: 22.05.2006
Ort: -
Alter: -
Geschlecht: Männlich
Verfasst Do 14.10.2010 10:46
Titel

Antworten mit Zitat Zum Seitenanfang

Wundert ja auch nicht. Du hast die Abfrage unescaped in dein Scriptaufruf eingebaut.

htmlspecialchars, striptags und viele andere sicherheitsrelevante Funktionen wären mal ganz zuerst wichtig.
Da fehlen dir wohl noch einige Grundlagen.

Vielleicht wärst du bei SSI besser aufgehoben oder gleich einer CMS Lösung?
  View user's profile Private Nachricht senden Website dieses Benutzers besuchen
Anzeige
Anzeige
bacon

Dabei seit: 24.10.2007
Ort: -
Alter: -
Geschlecht: -
Verfasst Do 14.10.2010 10:50
Titel

Antworten mit Zitat Zum Seitenanfang

tja ---- tröste Dich, Du bist nicht die Einzige, die so einen Mist schreibt.

Erstelle zuerst eine Whitelist aller Seiten:

Code:

$pages = array(
  'main' => 'main.php',
  'seite1' => 'seite1.php',
  'seite2' => 'seiten/seite2.php'
  [...]
);


Dann den Request prüfen und die entspr. Seite raussuchen:

Code:

  if(isset($_GET['mode']) && array_key_exists($_GET['mode'], $pages))
  {
    include dirname(__FILE__) . DIRECTORY_SEPARATOR . $pages[$_GET['mode']];
    exit(0);
  }

  // FEHLERBEHANDLUNG
  ...


Aber ganz ehrlich: An Deiner Stelle würd ichs einfach sein lassen.


Zitat:
Wundert ja auch nicht. Du hast die Abfrage unescaped in dein Scriptaufruf eingebaut.


Das sollte natürlich ebenfalls oberstes Gebot sein!


Zuletzt bearbeitet von bacon am Do 14.10.2010 10:52, insgesamt 2-mal bearbeitet
  View user's profile Private Nachricht senden
pRiMUS

Dabei seit: 09.09.2003
Ort: Vienna
Alter: 48
Geschlecht: Männlich
Verfasst Do 14.10.2010 10:53
Titel

Antworten mit Zitat Zum Seitenanfang

um mal grob zu erläutern, du erlaubt jedem user, der dir über die url einen befehl mitgibt, ihn auszuführen, da du, wie smooth schon erwähnt, nichts abfängst. vertraue NIEMALS usereingaben.

eine "schnelle" lösung wäre zb wie folgt:

Code:

if($_GET["mode"] == "") $main = "musterseite";
  else
  {
    switch($_GET["mode"])
    {
      case "erwartete eingabe": $main = "bladatei.php"; break;
      case "andere erwartete eingabe": $main = "bladatei2.php"; break;
      // und so weiter
      default: $main = "musterseite"; break;
    }
  }

include($main.php);


darüber hinaus, $_GET[main] ist falsch und hätte bei vernünftiger konfiguration zumindest ein warning werfen müssen. main ist ja keine konstante (die eh gross geschrieben werden müssten), deswegen musst du den get-aufruf in anführern setzen (wie in meinem beispiel).

nichts desto trotz solltest du dir dringen grundlagen aneignen und das ganze jetzt nciht via c&p hernehmen und verwenden.
  View user's profile Private Nachricht senden Website dieses Benutzers besuchen
 
Ähnliche Themen Spammails über Emailadressen auf Websites
Website wurde wahrscheinlich gehackt - javascript
[Help] Was machen, wenn die eigene site gehackt wurde?
php verschickt leere emails
(PHP)Kontaktformular verschickt keine Nachricht
PDF erstellen das sich selbst verschickt - an Emailadresse
Neues Thema eröffnen   Neue Antwort erstellen
MGi Foren-Übersicht -> Programmierung


Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst an Umfragen in diesem Forum nicht mitmachen.