Gå til innhold

Artikkel: Sikkerhet Del 1 - Feil bruk av include


Anbefalte innlegg

Har oppdatert switch scriptet i artikkelen til dette:

 

<?php 

 switch ($side) { 



   case "ommeg": 

     include("ommeg.html"); 

   break; 



   case "php": 

     include("ommeg.html"); 

   break; 



   default: 

    include("index.html"); 

 } 

 //Hvis $side ikke inneholder ommeg eller 

 //php vil index.html automatisk bli includet. 



?> 

 

Har du register_globals satt til on, vil det gamle ha et potensielt sikkerhetshull i $inc_side variablen hvis man glemmer å sette

$inc_side = "";

før man går inn i switch'n.

Lenke til kommentar
Videoannonse
Annonse
  • 2 måneder senere...
Ta en titt på denne siden:

 

http://sourcecode.no/php/?page=../../vi.sn...kerhet.her.asså

 

Bra dere praktiserer som dere preker... hehe.

Greit dere har lagt til ".php" på slutten, men hvor er switch'en deres?

 

Jeg gjør oppmerksom på at jeg ikke har noe med kodingen av sourcecode.no å gjøre. Jeg har kun skrevet en artikkel.

 

Er enig i at man burde gjort noe med akkurat det du påpeker her. :)

Lenke til kommentar

Når en henter navnet på siden som skal inkluderes sånn rett fra $_GET kan det være greit å kjøre regexps som sjekker at strengen ikke inneholder artige tegn som kan fucke opp.

!"#¤%/()='' " er noen.

Hvis en samtidig ikke er så nøye hvor filene en inkluderer ligger kan en få morsomme resultater

Lenke til kommentar

<?php

switch (strtolower($p)) {

   case 'start':

      @include("filelmappe/" . strtolower($p) . ".php");

   break;

   case 'meg':

      @include("filelmappe/" . strtolower($p) . ".php");

   break;



   default:

      include("filemappe/start.php");

}

?>

Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...