login  Naam:   Wachtwoord: 
Registreer je!
 Forum

Beveiliging met uploaden

Offline ArieMedia - 15/06/2009 11:30
Avatar van ArieMediaGouden medaille

PHP ver gevorderde
Voorafgaand:
Ik ben bezig met een uploadclass, en deze komt op SIMA te staan bij scripts (als deze is goedgekeurd). Nu komt er een halve discussie op gang over bestanden goed nakijken...


Na een klein onderzoekje ben ik achter het volgende gekomen.

elke browser op IE na, kijkt naar de extensie die word meegegeven, zet je een .pdf om naar een .jpg dan stuurt de browser het mee als JPG en dus zal mijn script bezig gaan hiermee.

IE kijkt niet naar de meegegeven extensie, en dus weigert het script het bestand up te loaden. (getest op 6,7 & 8)

Een mimetype-check werkt dus alleen op IE, de rest van de browsers (Firefox, Chrome, Opera) niet! Heb wat navraag gedaan hier verder op de afdeling.. daar zei mijn collega het volgende: "Opzich heeft het niet zo super veel nut om te checken of het wel daadwerkelijk een .jpg is. Apache ziet dat het een .jpg is, en dus probeert hij het zo weer te geven. Hij voert dus verder niks uit".

Weten jullie hier iets meer van?

5 antwoorden

Gesponsorde links
Offline Gerard - 15/06/2009 11:42
Avatar van Gerard Ouwe rakker Javascript wordt echter wel gewoon uitgevoerd, wanneer dit is toegevoegd aan de code van een GIF/JPG. Daarom is het zo belangrijk om de inhoud eigenlijk te controleren. Het is ook gewoon een first line of defence tegen schadelijke inhoud. Dat het niet uitgevoerd wordt wil niet zeggen dat een gebruiker het niet download en het daarom niet ongewenste gevolgen kan hebben.
Offline kilian - 15/06/2009 12:03
Avatar van kilian Lid Kan je niet gewoon met PHP een MINE check doen? Via de file var is het lastig, omdat deze bewerkt kan worden. Maar is dit dan niets?
Sorry dat ik vloek, maar in vond het op phphulp, en nergens anders
Offline ArieMedia - 15/06/2009 12:40 (laatste wijziging 15/06/2009 12:52)
Avatar van ArieMedia Gouden medaille

PHP ver gevorderde
Gerard schreef:
Javascript wordt echter wel gewoon uitgevoerd, wanneer dit is toegevoegd aan de code van een GIF/JPG. Daarom is het zo belangrijk om de inhoud eigenlijk te controleren. Het is ook gewoon een first line of defence tegen schadelijke inhoud. Dat het niet uitgevoerd wordt wil niet zeggen dat een gebruiker het niet download en het daarom niet ongewenste gevolgen kan hebben.
Je hebt wel een punt ja. Maar hoe ik hier verder een oplossing op moet bedenken.. file_info kan ik nog even niet mee bezig, want er is hier geen PHP 5.3, en op PHP 5.2.8 word het niet ondersteund. (function doesnt exist). Maar het was ook mogelijk via Fread?

killian schreef:
Kan je niet gewoon met PHP een MINE check doen? Via de file var is het lastig, omdat deze bewerkt kan worden. Maar is dit dan niets?
Sorry dat ik vloek, maar in vond het op phphulp, en nergens anders
Ik zie alleen maar images.. en ik wil het voor ALLE bestanden mogelijk maken. Maargoed ik zal er eens verder naar kijken.. denk dat ik het toch via een fread / fopen zal moeten gaan doen wat ik op de discussie (bij scripts-sectie) ook al zei.. moet hier alleen nog een goed onderzoek naar doen wat mogelijk is, waar ik naar moet kijken ect.
Offline Martijn - 15/06/2009 13:16 (laatste wijziging 15/06/2009 13:17)
Avatar van Martijn Crew PHP je hebt toch gewoon $_FILES['bestand']['type']? Ik snap het niet zo...
Offline ArieMedia - 15/06/2009 13:21
Avatar van ArieMedia Gouden medaille

PHP ver gevorderde
DeviourSoul schreef:
je hebt toch gewoon $_FILES['bestand']['type']? Ik snap het niet zo...
Dat is "Onveilig". Omdat je hier de client dit meegeeft.

Maak voor de grap maar eens een tekstbestand en zet hierin wat onzinnigs. Maak van onzinnigbestand.txt onzinnigbestand.jpg Ga naar mijn upload-class:

http://test.arie2zero.nl/verkleinen/
Wachtwoord: 1234hoedjevan

En uploaden die zooi. Je zal zien wat er gebeurd. Via IE word het geweigerd, want het is plain/text. Elke andere browser geeft mee dat het een jpg is wat dus niet klopt!
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.233s