image

Ernstig lek in PHP scripttaal

woensdag 27 februari 2002, 16:27 door Redactie, 9 reacties

Een ernstig lek in de bestands-upload mogelijkheden van PHP, een veelgebruikte scripttaal voor websites, heeft de makers genoopt updates uit te brengen. Gebruikers van PHP 4.x en 3.x wordt aangeraden te upgraden naar versie 4.1.2 of de beschikbare patches toe te passen. Door de fout zouden indringers willekeurige commando's op een server die PHP draait uit kunnen voeren.

Reacties (9)
27-02-2002, 23:25 door Anoniem
Op een website de mogelijkheid bieden van het oploaden van bestanden lijkt mij uberhaupt vragen om security problemen.

Theoretisch is er geen controle op de exacte inhoud van bestanden afgezien van het feit in geval van authenticatie nog altijd de mogelijkheid bestaat dat de inlogger niet de rechtmatige eigenaar zou kunnen zijn van het account dat hij/zij gebruikt.
28-02-2002, 00:25 door Anoniem
Originally posted by Virtal Technologies
Op een website de mogelijkheid bieden van het oploaden van bestanden lijkt mij uberhaupt vragen om security problemen.

Dat is ook helemaal niet nodig. Alleen het feit dat je php draait is genoeg om deze bug te kunnen exploiteren. Je bent dus niet veilig als je geen upload functies gebruikt ofzo.
28-02-2002, 09:10 door suntac
Het uploaden van bestanden is eigenlijk helemaal niet zo onveilig, of je nu gebruik maakt van PHP of een ander taaltje. Het is gewoon een kwestie van wat gebeurd er met de file die is geupload en waar mag hij geupload worden.

Ik heb een tijdje geleden een heel mooie module gebouwd die een file als een BLOB in een oracle database uploade en de geuploade file kon ook weer door andere gebuikers van het intranet opgehaald worden. Nu ging het hier in veel gevallen om manuals in PDF formaat maar stel dat iemand een PLSQL script of een java progje in de database upload en die wordt via een andere module aangeroepen dan zouden er in princiepe problemen kunnen voorkomen. Het is echter een kwestie van alles er om heen goed afsluiten en alle mogelijke manieren van misbruik wegprogrammeren.

Dus het uploaden is in princiepe niet onveilig de software die het uploaden en downloaden van deze dingen regelt is soms onveilig maar dat ligt compleet aan de kennis van de persoon die het bouwt en hoe diep die op het veiligheids gedeelte ingaat. Uploaden van bestanden brengt in veel gevallen een zeker risico met zich mee maar als je dat goed regelt is er geen enkel probleem.

Zeggen dat uploaden in alle gevallen onveilig is is natuurlijk een beetje te snel gedacht.;)

Suntac
28-02-2002, 09:15 door suntac
Trouwens, nog even iets anders.
Als we gaan denken aan het feit dat het bestand wel eens een virus of wat dan ook zou kunnen bevatten....... Je kan natuurlijk altijd een virusscan doen als het bestand geplaatst wordt. Zet je het gewoon voor een seconde of 30 op een veilige plaats. Wordt het bestand goed gekeurd dan laat je het door sturen naar de uiteindelijke locatie. Is het bestand niet goedgekeurd dan laat je het gewoon verdwijnen in een "infected" directory en geef je de uploader via een mailtje de melding dat zijn bestand waarschijnlijk besmet is en dat het om die reden niet is aangenomen op de server. Als hij begint te piepen dan kun je het bestand altijd nog eens opvissen uit de infected dir en het eens met de hand gaan bekijken.


Suntac
28-02-2002, 09:22 door Anoniem
Originally posted by


Dat is ook helemaal niet nodig. Alleen het feit dat je php draait is genoeg om deze bug te kunnen exploiteren. Je bent dus niet veilig als je geen upload functies gebruikt ofzo.

In dat geval kan je upgraden of de upload-mogelijkheid geheel uitzetten met:
Disable fileuploads

If upgrading is not possible or a patch cannot be applied, you can
avoid these vulnerabilities by disabling fileupload support. Edit the
PHP configuration file php.ini as follows:

file_uploads = off
28-02-2002, 09:32 door Anoniem
Originally posted by suntac
Het uploaden van bestanden is eigenlijk helemaal niet zo onveilig, of je nu gebruik maakt van PHP of een ander taaltje. Het is gewoon een kwestie van wat gebeurd er met de file die is geupload en waar mag hij geupload worden.
......
Zeggen dat uploaden in alle gevallen onveilig is is natuurlijk een beetje te snel gedacht.;)

Suntac

Dat laatste was ook niet de strekking. Het propageren van een upload-mogelijkheid zorgt echter wel voor een aantal security-gelieerde problemen die (eerst) opgelost dienen te worden. Dit gaf je zelf in je bericht ook correct aan dat je zoveel mogelijk zaken als potentieel misbruik moet weg zien te programmeren. Zo zou je bijvoorbeeld een bestand binair kunnen checken op zijn eigen unieke 'fingerprint', bijvoorbeeld ter identificatie van het bestands-type dat een zekerder uitkomst biedt dan enkel af te gaan op de file-extention.
Ook de locatie van de inkomende bestanden en wat daar verder (automatisch) mee gaat gebeuren zijn van belang.
28-02-2002, 13:37 door Anoniem
Gezien de discussie hierboven.....

Misschien om deze reden dat het beter is om paard en man te noemen aangaande infosecurity issues.

Niemand weet waar hij aan toe is.
En het is gissen of de genomen maatregelen iets zullen uithalen.

Maar ja, je kan ook natuurlijk gewoon PHP disablen.
28-02-2002, 14:12 door Anoniem
Originally posted by
Maar ja, je kan ook natuurlijk gewoon PHP disablen.

Ik denk het niet. Wanneer PHP is geïnstalleerd op een webserver zal een site daar ongetwijfeld afhankelijk van zijn. Het gaat in deze enkel om (een) upload functie(s) welke, hetzij ongepatched, ongewenst speciale toegangsrechten toekent aan een wildvreemde derde.
Bovendien heb je te maken met meerdere algemene security-issue's daar je afhankelijk bent van:
a) de instellingen van toegangsrechten op niveau van het besturingssysteem
b) toegangsrechten van bestanden en directory's
c) toegangsrechten op niveau van de webserver
d) toegangsrechten op niveau van de toegevoegde modules aan de webserver
e) toegangsrechten op niveau van de web-directorys (met .htaccess bijvoorbeeld)
f) het feitelijk gebruik van programmeercode in het script zoals de programmeur er gebruik van (heeft) (ge)maakt.
Wanneer in een van die lagen een fout is geslopen, zou dat consequenties kunnen hebben voor de veiligheid van het systeem in haar geheel.
04-03-2002, 00:22 door peterz
Originally posted by Virtal Technologies


Zo zou je bijvoorbeeld een bestand binair kunnen checken op zijn eigen unieke 'fingerprint', bijvoorbeeld ter identificatie van het bestands-type dat een zekerder uitkomst biedt dan enkel af te gaan op de file-extention.
Ook de locatie van de inkomende bestanden en wat daar verder (automatisch) mee gaat gebeuren zijn van belang.

Los van de bug in PHP. Op zich geeft uploaden geen veiligheidsrisico zolang de file maar niet uitgevoerd kan worden. Onder Unix/Linux is dat een kwestie van de juiste permissies toekennen. En natuurlijk zorgen dat je zelf de filenaam bepaalt (geen extentie als PHP etc.).
Reageren

Deze posting is gelocked. Reageren is niet meer mogelijk.