Gå til innhold

PHP sikkerhetshull hos webhost?


Anbefalte innlegg

Skrevet

Aah, mente ikke i php, mente i shellet :)

 

Bruk putty til å koble til ssh.domeneshop.no

Tast inn bruker og pass til din konto.

 

Skriv inn "cd /www" (uten "), får du permission denied prøver du et par ganger til. Dette virker ikke på alle serverene til domeneshop, men noen.

 

Skriv "dir *shop*" (uten "), du vil nå få servert alle domenene på serveren som inneholder ordet shop, cd inn på hvilken som helst. Noen har beskyttet seg, så hvis du skriver inn dir får du adgang nektet eller noe lignede. Skriver du derimot cat index.php vil du få listet ut inneholdet i index.php, og kan jobbe derfra. Har ikke funnet et sted på domeneshop det ikke virker enda.

Videoannonse
Annonse
Skrevet
Hei igjen,

 

Jeg fikk en oppklarende e-mail av webhost'en min i dag og det er faktisk kundens ansvar å sette riktige rettigheter på filer og mapper (chmod). Dette står i klartekst i vilkårene (noe jeg har oversett ("smekk på lanken min")). ;)

 

Altså er det ikke noe sikkerhetshull, men litt uvitenhet fra min side. Så da har jeg ingen problem lenger, så lenge jeg enkelt kan beskytte mine egene filer.  :)

 

Mvh,

Arnt Helge Håland

7707532[/snapback]

 

 

Uenig, veeeldig uenig.

 

La oss si at din fil som inneholder alle dine instillinger til en eller annen php applikasjon (også mysql brukernavn og passord) heter config.php. Den eies av brukernavn og gruppen brukernavn. Apache webserveren kjører som www:www eller apache:apache eller lignende.

 

Altså, for at apache webserveren skal kunne lese filen, må den altså kunne leses av "anybody". Det vil si at hvem som helst som kan kjøre et php script som apache brukeren, kan lese filen din, og ditt brukernavn og passord.

 

Dette vitner bare om enten-- uvitenhet eller ignoranse hos din webhost.

 

Det at mod_php kan lese filer UTENFOR det hjemmeområdet de ligger i er et sikkerhtshull, HVERTFALL om det er flere brukere på serveren.

 

Det finnes to måter å gjøre dette på: få php scriptet til å kjøre som brukeren din, og ikke apache sin bruker (god løsning, litt komplisert konfigurasjon)

eller man kan rett og slett bare sette base_dir til /home/bruker (grei løsning, veldig enkel).

Skrevet
Det finnes to måter å gjøre dette på: få php scriptet til å kjøre som brukeren din, og ikke apache sin bruker (god løsning, litt komplisert konfigurasjon)

eller man kan rett og slett bare sette base_dir til /home/bruker (grei løsning, veldig enkel).

7711454[/snapback]

Hadde det vært mulig å poste hvordan man gjør dette siste, og hvorfor dette gir beskyttelse?

Skrevet

For eksempel i vhosten til brukeren:

php_admin_value open_basedir /home/user/

 

 

Dette vil gjøre at dersom et PHP script som kjøres inni den vhosten prøver å åpne en fil som ligger utenfor /home/user/ vil man få en feilmelding.

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å
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...