Gå til innhold

Sikkerhet, hente kildekode for script


Anbefalte innlegg

Hei. Er det en enkel operasjon å lese kildekoden for php-script, altså å omgå generert html-output.

Om en foreksempel setter filen top_secret.php til:

<form method='POST'>
<input type='text' name='input'>
<input type='submit'>
</form>
<? define[PASSORD, "hemmelig"];
if ($_POST["input"] == PASSORD);{echo "tallet er 5";}
else {echo "Finn sett inn hemmelig passord";} ?>

Hvor lang tid tar det for en uten svart belte i script-fu å finne tallet ?

Lenke til kommentar
Videoannonse
Annonse

Hvis vi ser bortfra feilen du har i koden din så ville ikke noen klare å få tak i tallet uten å ha skrevet inn rett passord ( så lenge den er lagret som en PHP fil ). Hvis noen klarer å komme seg inn på ftp kontoen din så ser dem den, men det er en annen diskusjon.

 

Det kan også skje at webserverne blir feil konfigurert en dag, og ikke kjører php koden før den blir sendt ut. da vil folk kunne se php koden din. Men det skjer også veldig skjeldent. For å løse dette kan du lagre passord og slik i en fil som er plassert uten for selve web-mappen og bruke include() får å få med deg innholdet i et annet script.

 

Det er også mulig å skrive et program som prøver alle mulige passord også da, men så igjen vil dette ta noe noe tid, og du har muligheten til å beskytte deg mot det. Feks sperre en IP adresser i 5 min ved 3 feile forsøk.

 

EDIT: nå skal det også sies at ikke alle servere vet at <? står for PHP, og om de dermed kan sende ut koden da vet jeg ikke.

Endret av trondes
Lenke til kommentar

som trondes sa, ikke bruk short tags (<?), da det reduserer portabilitet, og kan bli misforstått i andre sammenhenger.

 

I tillegg er det anbefalt å bruke strcmp-funksjonen(e) for å sammenligne strenger, i stedet for "==".

Passord burde, om du har mulighet, plasseres utenfor webområdet, eller ihvertfall i en mappe som er beskyttet med chmod og .htaccess, gjerne at filen selv også har en chmod som gjør den utilgjengelig via http.

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