DangerBlack / advanced-ppu

Un software per gestire la Progressione Personale Unitaria dei ragazzi in un gruppo Scout Agesci
GNU General Public License v3.0
10 stars 4 forks source link

Possibile vulnerabilità nel upload delle immagini #16

Open DangerBlack opened 8 years ago

DangerBlack commented 8 years ago

Al momento le immagini possono venire caricate anche da utenti non loggati!

E' possiible in linea teorica usare le immagini come vettore d'attacco. [Documentazione non allegata.]

Aggiungere rumore nelle immagini caricate e SOPRATTUTTO generare il nome del file casualmente, NON permettere all'utente di caricare immagini decidendo il nome!

cortinico commented 8 years ago

Al momento le immagini possono venire caricate anche da utenti non loggati!

Tipo?

DangerBlack commented 8 years ago

https://github.com/DangerBlack/advanced-ppu/blob/master/php/upload.php

<?php
    //session_start();
    include('SimpleImage.php');
    include("query.php");

    //if(isset($_POST['username']) && isset($_POST['password'])) {
        //if (login($_POST['username'], $_POST['password'])) {

            $allowedExts = array("gif", "jpeg", "jpg", "png","JPG","PNG","GIF","JPEG");
            $temp = explode(".", $_FILES["file"]["name"]);
            $extension = end($temp);

nella riga 7 era presente un controllo che è stato commentato.

Per quanto riguarda il problema di sicurezza invece:

$image->save("../archive/photo/" . $_FILES["file"]["name"]);

questa operazione è estremamente non sicura, e sebbene sia modulata dal fatto che il file deve essere di tipo "gif", "jpeg", "jpg", "png","JPG","PNG","GIF","JPEG" non ci vieta che sovrascriva altri file immagine ne che contenga javascript malevolo per gli utenti o php pericoloso