• Login
  • Register
  • Zoek
This Thread
  • Everywhere
  • This Thread
  • This Forum
  • Articles
  • Pages
  • Forum
  • Filebase Entry
  • More Options

ICTscripters

Dé plek voor IT

Dé plek voor IT

Login

Geavanceerde opties
  1. Home
  2. Forum
    1. Alle berichten
    2. Recente activiteiten
  3. ICT Nieuws
  4. Blog
  5. Marktplaats
    1. Werk
    2. Advertenties
    3. Domeinnamen
    4. Websites
    5. Design & lay-outs
    6. Scripts
    7. Overige
  6. Design
  7. Leden
    1. Actieve bezoekers
    2. Team
    3. Leden zoeken
  8. Downloads
  9. Goedkope domeinnamen
  1. Home
  2. Forum
    1. Alle berichten
    2. Recente activiteiten
  3. ICT Nieuws
  4. Blog
  5. Marktplaats
    1. Werk
    2. Advertenties
    3. Domeinnamen
    4. Websites
    5. Design & lay-outs
    6. Scripts
    7. Overige
  6. Design
  7. Leden
    1. Actieve bezoekers
    2. Team
    3. Leden zoeken
  8. Downloads
  9. Goedkope domeinnamen
  1. Home
  2. Forum
    1. Alle berichten
    2. Recente activiteiten
  3. ICT Nieuws
  4. Blog
  5. Marktplaats
    1. Werk
    2. Advertenties
    3. Domeinnamen
    4. Websites
    5. Design & lay-outs
    6. Scripts
    7. Overige
  6. Design
  7. Leden
    1. Actieve bezoekers
    2. Team
    3. Leden zoeken
  8. Downloads
  9. Goedkope domeinnamen
  1. Dé plek voor IT - ICTscripters
  2. Forum
  3. Scripting & programmeren
  4. PHP + SQL

Forum

  • Beta-testers gezocht voor Crypto-oefenplatform

    Syntax 29 januari 2026 om 16:11
  • Na 15 jaar terug van weggeweest: iCriminals.nl is terug (BETA)!

    Syntax 19 januari 2026 om 09:34
  • Developer Gezocht

    Mikevdk 10 januari 2026 om 18:57
  • Op zoek naar de legends

    Syntax 5 januari 2026 om 13:50
  • [FREE] WeFact Hosting module

    Jeroen.G 13 oktober 2025 om 14:09
  • Help testers nodig voor android app Urgent

    urgentotservices 26 september 2025 om 10:21
  • Versio vervanger

    Jeroen.G 25 augustus 2025 om 15:56
  • Afspraken systeem met planbeperking

    Lijno 1 augustus 2025 om 23:04

Marktplaats

  • 321 Nieuwe Domeinnamen December 2025

    shiga 1 januari 2026 om 10:26
  • Meerdere mafia game template te koop

    Syntax 26 december 2025 om 00:07
  • Van een pixelige afbeelding naar een strakke, moderne website

    Syntax 21 december 2025 om 17:05

Beveiligings check

  • djordyh
  • 29 juli 2013 om 11:30
  • djordyh
    Professional
    Berichten
    627
    • 29 juli 2013 om 11:30
    • #1

    Hey,

    Ik heb dus een klein scriptje, waarbij de gebruiker een naam invult, en een .zip file upload.
    Vervolgens wordt er dan op de server een mapje aangemaakt in een 'uploads' folder, met de opgegeven naam, en dan in het mapje wordt de zip uitgepakt.

    Dit werkt allemaal perfect, maar voordat ik het wil gaan gebruiken op me site, ik twijfel nog erg over de veiligheid van het script.
    Zou iemand me kunnen vertellen of ik iets over het hoofd ziet? De upload folder wordt met htaccess beveiligt, de rest van de beveiliging zit in het scriptje.


    Tot nu toe heb ik:

    - Extensie check via mime. Het bestandje moet een .zip file zijn anders upload hij niet.
    - Filesize check. Het bestandje mag niet groter zijn dan 1MB.
    - Naam check. Als er al een mapje met precies de zelfde opgegeven naam bestaat op de server, upload hij niet.


    Zijn er nog meer dingen waar ik op moet letten? En zijn er eventeel ook nog andere risico's waar ik op moet letten?

    Met vriendelijke groet,

    Djordy.

  • Guest, wil je besparen op je domeinnamen? (ad)
  • iCold
    Professional
    Ontvangen Reacties
    7
    Berichten
    1.630
    • 29 juli 2013 om 11:37
    • #2

    Hij de .zip wordt uitgepakt? Dat betekend toch dat de gebruiker ook o.a PHP bestanden kan uploaden ?

  • Luc
    Software Engineer
    Ontvangen Reacties
    44
    Berichten
    1.986
    • 29 juli 2013 om 11:38
    • #3

    Wat gebeurt er met de uitgepakte zips? Want als ik daar kwaadwillende code inlaad is het per definitie niet veilig.

    Stel ik maak een zip, met daarin allemaal php bestanden. Worden deze dan uitgevoerd of niet?

    Website: https://devimo.nl
    Skype: https://join.skype.com/invite/dJyYILTt7Eqh

  • djordyh
    Professional
    Berichten
    627
    • 29 juli 2013 om 11:42
    • #4

    Als het goedis pakt hij het enkel uit
    Het upload & extract gedeelte is dit:

    PHP
    if(move_uploaded_file($source, $target_path)) { // No errors, file has to be uploaded
    		$zip = new ZipArchive(); // Start a new ZIP
    		$x = $zip->open($target_path); // Open the target path
    		if ($x === true) { // The target path has been opent
    			$zip->extractTo("uploads/$title/"); // Extract the ZIP file in here
    			$zip->close(); // Close the ZIP
    	
    			unlink($target_path); // End the connection to the target path
    		} // End if x = true
    		$message = "Your .zip file was uploaded and unpacked."; // ZIP is uploaded succesfully. Message.
    		
    	} else {	
    		$message = "There was a problem with the upload. Please try again."; // Some thing went wrong. Error.
    	} // End if move uploaded file
    Toon Meer

    Hierbij worden de bestanden niet geopend/uitgevoerd volgens mij

    Met vriendelijke groet,

    Djordy.

  • WHMCSAddons
    Master
    Ontvangen Reacties
    88
    Berichten
    2.411
    • 29 juli 2013 om 13:26
    • #5

    @Sukel
    Hoeft niet uitgevoerd te worden, als de bestanden al op de FTP staan is dit al voldoende om kwaadwillende code uit te willen voeren.

  • Tredgy
    Developer
    Ontvangen Reacties
    1
    Berichten
    192
    • 29 juli 2013 om 13:27
    • #6

    Zou ik niet gebruiken nee.

    Met vriendelijke groeten,
    Tredgy

  • djordyh
    Professional
    Berichten
    627
    • 29 juli 2013 om 13:31
    • #7
    Citaat van Wmdiensten

    @Sukel
    Hoeft niet uitgevoerd te worden, als de bestanden al op de FTP staan is dit al voldoende om kwaadwillende code uit te willen voeren.

    Hoe dan precies? Want de upload directory wordt beveiligt met HTACCESS.

    Citaat van Tredgy

    Zou ik niet gebruiken nee.

    Eeks. Zijn er betere methodes?

    Met vriendelijke groet,

    Djordy.

  • cakemasher
    Developer
    Ontvangen Reacties
    2
    Berichten
    225
    • 29 juli 2013 om 13:36
    • #8

    Klopt, maar de bestanden zijn wel aanwezig op de server. Dit is eventueel op te lossen d.m.v. bijv. een .htaccess bestand in de map te plaatsen waarin staat 'deny from all' of php bestanden etc. niet laten uitpakken door je uitpak scriptje.

  • WHMCSAddons
    Master
    Ontvangen Reacties
    88
    Berichten
    2.411
    • 29 juli 2013 om 13:37
    • #9

    @Sukel
    Ooit gehoord van SHELL99 exploit code? Wellicht handig als je het een en ander uitzoekt daarover dan heb je meer informatie hierover.
    Er bestaan nog veel meer van dit soort exploits, ze zien er onschuldig uit maar kunnen je een hoop narigheid bezorgen ;)

  • Tredgy
    Developer
    Ontvangen Reacties
    1
    Berichten
    192
    • 29 juli 2013 om 13:39
    • #10

    Ik raad je aan de zip te uploaden naar een OS safe directory waar os level commands beschikbaar zijn, dan daar met een zip safe file checker via command line interference te controleren of hij veilig is dan uitpakken en verplaatsen met php's stream_to_stream.

    Met vriendelijke groeten,
    Tredgy

  • WHMCSAddons
    Master
    Ontvangen Reacties
    88
    Berichten
    2.411
    • 29 juli 2013 om 13:42
    • #11

    Tredgy
    Welke advies bedoel je dan precies, zover ik lees raad iedereen het gebruik op de huidige manier af.

  • Tredgy
    Developer
    Ontvangen Reacties
    1
    Berichten
    192
    • 29 juli 2013 om 13:43
    • #12

    Excuse ik las een reactie verkeerd heb de regel van vorige post verwijderd.

    Citaat van Wmdiensten

    Tredgy
    Welke advies bedoel je dan precies, zover ik lees raad iedereen het gebruik op de huidige manier af.

    Met vriendelijke groeten,
    Tredgy

  • djordyh
    Professional
    Berichten
    627
    • 29 juli 2013 om 14:09
    • #13
    Citaat van Tredgy

    Ik raad je aan de zip te uploaden naar een OS safe directory waar os level commands beschikbaar zijn, dan daar met een zip safe file checker via command line interference te controleren of hij veilig is dan uitpakken en verplaatsen met php's stream_to_stream.

    O.o
    Haha sorry, dit gaat even te ver over mijn 'knowledge' heen haha.
    Hoe werkt dit precies?

    Met vriendelijke groet,

    Djordy.

  • jopitan
    Professional
    Berichten
    684
    • 30 juli 2013 om 08:56
    • #14

    Eigenlijk is het aangeraden om bestanden die je voor de gebruiker niet beschikbaar wilt hebben buiten de webroot te zetten.

    Je oplossing met .htaccess (Deny from all) in de "uploads" directory is overigens niet verkeerd en ook niet onveilig. Het nadeel kan alleen zijn dat mocht er een syntax error zijn dat de htaccess mogelijk verkeerd geïnterpreteerd wordt of totaal niet geladen wordt (denk aan verkeerde apache configuratie). Een ander punt is dat je mogelijk met verouderde software werkt waardoor er mogelijke lekken kunnen worden misbruikt, dus zorg dat je software up-to-date is.

    Stel dat je dat allemaal gewoon op orde hebt, dan is er niks mis met een .htaccess beveiliging. De gebruiker kan hier niet omheen werken.
    Als een kwaadwillende shell access krijgt tot jouw account, dan heb je wel een probleem, maar ik zou mij dan meer druk maken om het feit dat iemand überhaupt toegang heeft gekregen tot een shell account inplaats van je druk te maken om het feit dat ze nu bij die paar geüploade bestanden kunnen.

    Mocht shell access voor je account niet ingeschakeld staan, dan is er niks aan de hand.

    Kast: HAF922 | CPU: I7-930 @ 4.0GHz | CPU Cooler: Noctua NH-D14 | HDD0: Crucial M4 128GB, HDD1: Kingston SSD 64GB, HDD2/3: WD Black & Green 1TB, HDD4: Seagate 1.5TB | Mem: Kingston HyperX 12GB @ 1600MHz | Graphics: Crossfire HD6970 | Res: 5760x1080

  • djordyh
    Professional
    Berichten
    627
    • 2 augustus 2013 om 16:02
    • #15

    Bedankt allemaal!
    Ik denk dat ik er zo wel uitkom ;)

    Met vriendelijke groet,

    Djordy.

Participate now!

Heb je nog geen account? Registreer je nu en word deel van onze community!

Maak een account aan Login

ICT Nieuws

  • Fijne feestdagen

    tcbhome 28 december 2025 om 13:55
  • Kritieke update voor Really Simple Security-plug-in

    K.Rens 16 november 2024 om 16:12
  • ING Nederland streeft naar ondersteuning van Google Pay tegen eind februari

    K.Rens 2 november 2024 om 16:09

Blogs

  • Functioneel ontwerp

    Dees 28 december 2014 om 12:38
  • Access Control List implementatie in PHP/MySQL - deel 1/2

    FangorN 28 december 2018 om 12:35
  • Access Control List implementatie in PHP/MySQL - deel 2/2

    FangorN 29 december 2018 om 12:37

Gebruikers die dit topic bekijken

  • 1 Gasten
  1. Marktplaats
  2. Design
  3. Voorwaarden
  4. Ons team
  5. Leden
  6. Geschiedenis
  7. Regels
  8. Links
  9. Privacy Policy
ICTscripters ©2005 - 2026 , goedkope hosting door DiMoWeb.com, BE0558.915.582
Sponsors: Beste kattenhotel provincie Antwerpen | Beste Zetes eid kaartlezer webshop
Style: Nexus by cls-design
Stylename
Nexus
Manufacturer
cls-design
Licence
Commercial styles
Help
Supportforum
Visit cls-design