Versio

Veiligheid mbt uploaden

Overzicht Reageren

Synaps Framework

Synaps Framework

15/05/2010 19:24:59
Quote Anchor link
Voor een systeem moet het mogelijk zijn om bestanden te kunnen uploaden. Echter gaat het hier niet alleen om Afbeeldingen, maar het bestand kan eigenlijk van alles zijn.

Nu zat ik even te kijken op het internet over hoe je nu controleert van wat een bestand nu echt inhoud. Ik wil natuurlijk dat bestanden zoals php, js etc etc niet op de server hebben.

Mijn vraag is, heeft iemand wat leesvoer, links, php functies etc etc die de beveiliging van het uploaden beter maakt?

Ik heb het Mine principe etc er al in zitten, maar dat kan toch niet alles zijn?

Groet.
Gewijzigd op 15/05/2010 19:25:41 door Synaps Framework
 
PHP hulp

PHP hulp

25/05/2012 17:30:51
Gesponsorde koppelingen:
 
Henk PHP

Henk PHP

15/05/2010 19:34:34
Quote Anchor link
Ik zou eens gaan kijken naar wat upload classes, zoals deze bijvoorbeeld.
 
Karl Karl

Karl Karl

15/05/2010 19:55:14
Quote Anchor link
Mime is niet te vertrouwen, als je daar alleen op checkt ben je verkeerd bezig. In principe kan checken op naam al voldoende zijn (of de bestanden gewoon hernoemen). Is best wel veel leesvoer over dit te vinden op het internet code injection.
 
Synaps Framework

Synaps Framework

15/05/2010 19:59:31
Quote Anchor link
@Henk PHP, heb je gezien naar welke bende jij mij verwezen hebt?

@Karl, de bestanden worden sowieso hernoemt en niet in de root geplaatst. Ik weet ook dat Mime niet te vertrouwen is, waarom ik ook hier om advies vraag. Ik dacht dat Mine alleen wel een toevoeging had.

Ik google anders nog wel even door =]
 
Karl Karl

Karl Karl

15/05/2010 20:04:31
Quote Anchor link
Van het bestand wat ge-upload wordt eigenlijk alles door de browser geset (naam, grootte en mime type). Dat kan dus door de gebruiker gemanipuleerd worden.
Als je alleen op mime checkt, dan ben je dus slecht bezig, want de gebruiker kan een php bestand uploaden met mime type van een plaatje.

Wat is er mis met die 'bende'? Die is véél beter gedocumenteerd dan die troep van jouw.
 
Synaps Framework

Synaps Framework

15/05/2010 20:26:31
Quote Anchor link
Wat ik nu heb:
- htaccess zorgen dan acces denied staat op de upload map
- controleren op de map waarin je gaat uploaden geen rechten heeft tot uitvoeren en schrijven.
- Bestanden hernoemen, zodat een kwaadwillige sowieso het bestandsnaam niet weet.
- extensies zoals php, phtml, php4 etc etc weigeren zover het kan.
- als de extensie doet geloven dat het een afbeelding is, de maten opvragen. Hiermee proberen afbeeldingen die toch geen afbeeldingen zijn te onderscheppen.

Verder nog ideeen of truukjes die worden toegepast?
Gewijzigd op 15/05/2010 20:27:49 door Synaps Framework
 
Niels Kieviet

Niels Kieviet

15/05/2010 21:58:40
Quote Anchor link
lege file onderscheppen?
 
Mar cel

Mar cel

15/05/2010 22:05:05
Quote Anchor link
Ik kijk dmv van explode() wat er achter de laatste punt staat. Dan zit je toch altijd goed?
 
Niels Kieviet

Niels Kieviet

15/05/2010 22:06:23
Quote Anchor link
Voor foto's kan je ook exif_imagetype gebruiken..
 
TJVB tvb

TJVB tvb

25/05/2010 20:07:56
Quote Anchor link
Als je er voor zorgt dat de bestanden in een map komen die niet van buitenaf bereikbaar is dan kun je de inhoud weer via php aan de gebruiker geven. Daarnaast controleren of de mimetype klopt met de extensie en je bent al heel problemen kwijt.
Het is vooral belangrijk dat je niks "uitvoert" van wat je aangeboden krijgt.
En een virusscanner die het meteen even controleert scheelt weer een hoop voor de mensen die de bestanden weer downloaden.
 



Overzicht Reageren

Get Adobe Flash player