Seite 1 von 3 123 LetzteLetzte
Ergebnis 1 bis 10 von 24

Thema: Überprüfung meines include befehles

  1. #1
    Gast

    Standard Überprüfung meines include befehles

    hallo an alle,

    ich bin der webmaster der homepage eines sportvereins. ich habe die seite "geerbt" und habe mich in die verwaltung der seite hineingearbeitet.
    mit php kenne ich mich gar nicht aus.´
    vor einigen wochen nun wurde unsere seite opfer eines hackerangriffes durch eine lücke in der coppermine galerie. nach update von coppermine auf die neueste version sind die angriffen weniger geworden, aber immer noch da, meistens am wochenende.

    heute bin ich nun drauf gestossen, dass evtl. ein nicht sicherer include befehl daran schuld sein könnte.

    ich habe mittlerweile gegoogelt und den code entsprechend den gefunden google-ergebnissen abgeändert. da ich nun leider, wie erwähnt, keine php kenntnisse habe möchte ich hier im forum darum bitten, ob mal jemand über diesen code schauen könnte ob das so ok ist.
    Achtung: Dies ist ein alter Thread im HTML und Webmaster Forum
    Diese Diskussion ist älter als 90 Tage. Die darin enthaltenen Informationen sind möglicherweise nicht mehr aktuell. Erstelle bitte zu deiner Frage ein neues Thema im Forum !!!!!

  2. #2
    der/die Göttliche Avatar von jojo87
    Registriert seit
    23.03.2007
    Ort
    Leipzig
    Alter
    30
    Beiträge
    3.131
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard

    Gibst du uns besagten Code auch noch?

  3. #3
    Gast

    Standard

    hallo an alle, hallo jojo87,

    hier der code:

    Code:
    <?php
    
    $dateien = array&#123;
    “counter” => “counter.php”&#125;;
    
    If &#40;!isset&#40;$_GET&#91;“counter”&#93;&#125;&#125;
    &#123;
    $seite = “counter”;
    &#125; else &#123;
    $seite = $_GET&#91;“counter”&#93;;
    &#125;
    
    Include $dateien&#91;$seite&#93;;
    
    if &#40;$function == ""&#41;
    &#123;
    $function = "view";
    &#125;
    if &#40;$start == ""&#41;&#123;$start = $counter -1;&#125;
    
    if &#40;$start > 25&#41;
    &#123;
    $end = $start - 25;
    &#125;
    else
    &#123;
    $end = 0;
    &#125;
    require&#40;$function.".php"&#41;;
    
    ?>

  4. #4
    Jedi Ritter Avatar von Dodo
    Registriert seit
    26.04.2008
    Ort
    Wien
    Alter
    27
    Beiträge
    3.774
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings
    Blog-Einträge
    1

    Standard

    Code:
    If &#40;&#40;!isset&#40;$_GET&#91;“counter”&#93;&#41; || strpos&#40;$_GET&#91;"counter"&#93;,'&#58;//'&#41;&#41; 
    &#123; 
    $seite = “counter”; 
    &#125; else &#123;
    $seite = $_GET&#91;“counter”&#93;; 
    &#125;
    Damit unterbindest du externe includes.
    Die Hacker konnten dateien von anderen webservern bei dir includen.
    Something big is coming. And there will be pirates and ninjas and unicorns...

  5. #5
    der/die Göttliche Avatar von jojo87
    Registriert seit
    23.03.2007
    Ort
    Leipzig
    Alter
    30
    Beiträge
    3.131
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard

    oder vor dem include mit
    Code:
    is_file&#40;"/pfad/auf/DEINEM/webspace/".$dateien&#91;$seite&#93;.""&#41;;
    prüfen

    Gruß,
    Jojo

  6. #6
    Forum Guru
    Registriert seit
    04.04.2005
    Beiträge
    4.139
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard

    argh

    Ich komm dann mit der URL
    Code:
    datei.php?counter=../../../../etc/passwd
    oder ähnlich.
    überprüfe ob der pfad schlussendlich auch da hinzeigt wo er soll.

    Beispiel (ungestetet)
    Code:
    $file = $include = 'counter';
    if&#40;isset&#40;$_GET&#91;'counter'&#93;&#41;&#41;$file = $_GET&#91;'counter'&#93;;
    $base = $_SERVER&#91;'DOCUMENT_ROOT'&#93;.'/counter/'; //muss angepasst werden!!
    
    if&#40;$path = realpath&#40;$base.$file&#41;&#41; &#123;
      if&#40;substr&#40;$path,0,strlen&#40;$base&#41;&#41;==$base&#41; &#123;
        $include = $file;
      &#125;
    &#125;
    include&#40;$base.$include&#41;;
    Facebook Gruppe: Böses Encoding

  7. #7
    der/die Göttliche Avatar von jojo87
    Registriert seit
    23.03.2007
    Ort
    Leipzig
    Alter
    30
    Beiträge
    3.131
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard

    Oha, ich könnte mich manchmal über mich selbst aufregen. Du hst natürlich recht, RMB.
    Also gut, damit deine Suche nun in diesem Forum ein Ende hat, gast
    Code:
    if&#40;isset&#40;$_GET&#91;'page'&#93;&#41;&#41; &#123;
    	if&#40;strpos&#40;$_GET&#91;'page'&#93;, "http&#58;//"&#41; !== FALSE || strpos&#40;$_GET&#91;'page'&#93;, "../"&#41; !== FALSE&#41; &#123;
    		die&#40;"Die Seite existiert nicht"&#41;;
    	&#125;
    	else &#123;
    		if&#40;file_exists&#40;"./inc/".$_GET&#91;'page'&#93;.".php"&#41;&#41; &#123;
    			include"./inc/".$_GET&#91;'page'&#93;.".php";
    		&#125;
    		else &#123;
    			include"./inc/Start.php";
    		&#125;
    	&#125;
    &#125;
    else &#123;
    	include"./inc/Start.php";
    &#125;
    Includiert die Seite ./inc/$_GET['page'].php und beugt xss-Attacken denk ich gut vor. Wurde so mal hier von Bendor geposted.

    Gruß,
    Jojo

  8. #8
    Forum Guru
    Registriert seit
    04.04.2005
    Beiträge
    4.139
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard

    XSS Attacken sind wenn man html,css,js einfügen kann
    Das wäre eine «Remote» oder «Local File Inclusion» Attacke

    Bin mir nicht sicher aber ich denke das «strpos($_GET['page'], "../")» könnte man umgehen mit ..\ (sollte auf windows servern funktionieren).

    Ich bevorzuge meine Variante, die überprüft ob man sich noch in dem Verzeichniss befindet.
    Facebook Gruppe: Böses Encoding

  9. #9
    Jedi Ritter Avatar von Dodo
    Registriert seit
    26.04.2008
    Ort
    Wien
    Alter
    27
    Beiträge
    3.774
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings
    Blog-Einträge
    1

    Standard

    Zitat Zitat von ::RMB::
    Bin mir nicht sicher aber ich denke das «strpos($_GET['page'], "../")» könnte man umgehen mit ..\ (sollte auf windows servern funktionieren).
    wie wärs dann damit?
    Code:
    if&#40;&#40;!isset&#40;$_GET&#91;“counter”&#93;&#41; || strpos&#40;$_GET&#91;"counter"&#93;,'&#58;//'&#41; || strpos&#40;$_GET&#91;"counter"&#93;,'../'&#41; || strpos&#40;$_GET&#91;"counter"&#93;,'..\'&#41;&#41;
    Something big is coming. And there will be pirates and ninjas and unicorns...

  10. #10
    HTML Newbie
    Registriert seit
    20.06.2008
    Beiträge
    9
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard

    Hallo jojo87, Dodo und ::RMB::,

    ich bin der Gast mit dem include-befehl-problem.

    Vielen Dank für eure Mühe.

    Jojo87 zu deinem Script muss ich sagen:
    die Datei mit dem Include-Befehl steht im Root,
    die Datei counter.php steht ebenfalls im Root.
    Ich verstehe bei deinem Script „./inc/“ nicht.
    Muss ich das abändern ?
    Unsere Start-Datei heisst „xx_index.php“ und
    Steht ebenfalls im Root.

    Gerne würde ich auch das Script von Dodo verwenden,
    obwohl ich bisher einige zeichen ( „||“) noch nicht verstehe.
    Ist das php-code ?
    Das Zeichen "|" ist das Anführungszeichen, das ist mir klar.
    Aber ( „||“) ??
    Kannst du vielleicht das als php-code posten ?

    Vielen Dank nochmals
    und bis bald.

Ähnliche Themen

  1. include in include (mehrfach) - Hilfe!
    Von maciwa im Forum PHP Forum - Apache - CGI - Perl - JavaScript und Co.
    Antworten: 1
    Letzter Beitrag: 30.03.2008, 14:04
  2. E-Mail Überprüfung
    Von Webdesignerin im Forum PHP Forum - Apache - CGI - Perl - JavaScript und Co.
    Antworten: 5
    Letzter Beitrag: 18.02.2008, 16:40
  3. Fehler bei Formular-Überprüfung.....
    Von mobilica im Forum PHP Forum - Apache - CGI - Perl - JavaScript und Co.
    Antworten: 5
    Letzter Beitrag: 11.10.2007, 01:57
  4. Formular Überprüfung
    Von teltim01 im Forum PHP Forum - Apache - CGI - Perl - JavaScript und Co.
    Antworten: 9
    Letzter Beitrag: 02.06.2005, 09:33
  5. Kontaktformular mit Überprüfung der Eingabe
    Von AZ-ID im Forum Script-Archiv
    Antworten: 12
    Letzter Beitrag: 01.06.2005, 01:01

Stichworte

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •