CVE-2014-125041 (published 2023-01-05T15:15Z)

A vulnerability classified as critical was found in Miccighel PR-CWT. This vulnerability affects unknown code. The manipulation leads to sql injection. The patch is identified as e412127d07004668e5a213932c94807d87067a1f. It is recommended to apply a patch to fix this issue. VDB-217486 is the identifier assigned to this vulnerability.

CVSS v3 base score: 9.8, CRITICAL (CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H)

Weakness information:
cwe_id: CWE-89
cwe_name: Improper Neutralization of Special Elements used in an SQL Command ('SQL Injection')
description: The product constructs all or part of an SQL command using externally-influenced input from an upstream component, but it does not neutralize or incorrectly neutralizes special elements that could modify the intended SQL command when it is sent to a downstream component. Without sufficient removal or quoting of SQL syntax in user-controllable inputs, the generated SQL query can cause those inputs to be interpreted as SQL instead of ordinary user data.
extended_description: 
            
            
         
         

Fix information:
repo_url: https://github.com/Miccighel/PR-CWT
commit_details: repo_url: https://github.com/Miccighel/PR-CWT
author: Michael Soprano
author_date: 2014-06-26 00:27:09+02:00
msg: aggiunta funzione rendi sicuro per evitare sql injection, corretto bug in HOME_WEB
repository: repo_url: https://github.com/Miccighel/PR-CWT
repo_name: Miccighel/PR-CWT
description: Project for the course of "Complements of Web Technologies" of the university of Udine
repo_language: PHP
owner: Miccighel
file_changes: filename: moduloEliminazioneImmagineIntermedio.php
change_type: ModificationType.MODIFY
diff: @@ -4,7 +4,7 @@ include HOME_ROOT . '/script/funzioni.php';
 
 if($_SERVER['REQUEST_METHOD'] != 'GET'){
     $connessione = creaConnessione(SERVER, UTENTE, PASSWORD, DATABASE);
-    $query = sprintf("SELECT galleria FROM tblprodotti WHERE codiceprodotto='%s'", $_POST['codiceprodotto']);
+    $query = sprintf("SELECT galleria FROM tblprodotti WHERE codiceprodotto='%s'", rendiSicuro($_POST['codiceprodotto']));
     $dati = eseguiQuery($connessione, $query);
 
     $percorsoThumbnails = '../img/thumb/' . $dati[0]['galleria'] . '/';

programming_language: PHP
filename: moduloInserimentoImmagineIntermedio.php
change_type: ModificationType.MODIFY
diff: @@ -5,7 +5,7 @@ include HOME_ROOT . '/script/funzioni.php';
 if($_SERVER['REQUEST_METHOD'] != 'GET'){
     $connessione = creaConnessione(SERVER, UTENTE, PASSWORD, DATABASE);
 
-    $query = sprintf("SELECT codiceprodotto, nomeprodotto FROM tblprodotti WHERE codiceprodotto='" . $_POST['codiceprodotto'] . "'");
+    $query = sprintf("SELECT codiceprodotto, nomeprodotto FROM tblprodotti WHERE codiceprodotto='" . rendiSicuro($_POST['codiceprodotto']) . "'");
     $dati = eseguiQuery($connessione, $query);
 
     if (!$dati) {

programming_language: PHP
filename: moduloModificaCategoriaIntermedio.php
change_type: ModificationType.MODIFY
diff: @@ -6,7 +6,7 @@ print '<script type="text/javascript" src="'.HOME_WEB.'js/funzioni.js"></script>
 if($_SERVER['REQUEST_METHOD'] != 'GET'){
     $connessione = creaConnessione(SERVER, UTENTE, PASSWORD, DATABASE);
 
-    $query = sprintf("SELECT * FROM tblcategorie WHERE nome='" . $_POST['nome'] . "'");
+    $query = sprintf("SELECT * FROM tblcategorie WHERE nome='" . rendiSicuro($_POST['nome']) . "'");
     $dati = eseguiQuery($connessione, $query);
 
     print '<form id="formModificaCategoria" method="post" action="../script/scriptModificaCategoria.php">';

programming_language: PHP
filename: moduloModificaConsoleIntermedio.php
change_type: ModificationType.MODIFY
diff: @@ -6,7 +6,7 @@ print '<script type="text/javascript" src="'.HOME_WEB.'js/funzioni.js"></script>
 if($_SERVER['REQUEST_METHOD'] != 'GET'){
     $connessione = creaConnessione(SERVER, UTENTE, PASSWORD, DATABASE);
 
-    $query = sprintf("SELECT * FROM tblconsole WHERE nome='" . $_POST['nome'] . "'");
+    $query = sprintf("SELECT * FROM tblconsole WHERE nome='" . rendiSicuro($_POST['nome']) . "'");
     $dati = eseguiQuery($connessione, $query);
 
     print '<form id="formModificaConsole" method="post" action="../script/scriptModificaConsole.php">';

programming_language: PHP
filename: moduloModificaProdottoIntermedio.php
change_type: ModificationType.MODIFY
diff: @@ -5,7 +5,7 @@ print '<script type="text/javascript" src="'.HOME_WEB.'js/funzioni.js"></script>
 
 if($_SERVER['REQUEST_METHOD'] != 'GET'){
     $connessione = creaConnessione(SERVER, UTENTE, PASSWORD, DATABASE);
-    $query = sprintf("SELECT * FROM tblprodotti WHERE codiceprodotto='" . $_POST['codiceprodotto'] . "'");
+    $query = sprintf("SELECT * FROM tblprodotti WHERE codiceprodotto='" . rendiSicuro($_POST['codiceprodotto']) . "'");
     $dati = eseguiQuery($connessione, $query);
     print '<form enctype="multipart/form-data" method="post" action="../script/scriptModificaProdotto.php">';
     print '<fieldset><legend>Modifica Prodotto</legend>';

programming_language: PHP
filename: moduloModificaUtente.php
change_type: ModificationType.MODIFY
diff: @@ -5,7 +5,7 @@ include HOME_ROOT . '/html/testa.php';
 
 if (isset($_SESSION['collegato'])){
     $connessione = creaConnessione(SERVER, UTENTE, PASSWORD, DATABASE);
-    $query = sprintf("SELECT * FROM tblutenti WHERE user='" . $_SESSION['username']. "'");
+    $query = sprintf("SELECT * FROM tblutenti WHERE user='" . rendiSicuro($_SESSION['username']). "'");
     $dati = eseguiQuery($connessione, $query);
 
     print '<p class="informazione">Attenzione, dovrai eseguire di nuovo il login, una volta modificato il profilo</p>';

programming_language: PHP
filename: moduloVisualizzazioneCarrello.php
change_type: ModificationType.MODIFY
diff: @@ -10,7 +10,7 @@ if (isset($_SESSION['collegato'])) {
     $query = sprintf("SELECT u.codicefiscale, c.codiceprodotto, c.quantita, p.nomeprodotto, p.prezzo,
     p.immagine, p.categoria, pc.console FROM ((tblutenti AS u JOIN tblcarrelli AS c
     ON u.codicefiscale = c.codiceutente) JOIN tblprodotti AS p on c.codiceprodotto = p.codiceprodotto)
-    JOIN tblprodotticonsole AS pc ON p.codiceprodotto = pc.codiceprodotto WHERE u.user='%s'", $_SESSION['username']);
+    JOIN tblprodotticonsole AS pc ON p.codiceprodotto = pc.codiceprodotto WHERE u.user='%s'", rendiSicuro($_SESSION['username']));
 
     $dati = eseguiQuery($connessione, $query);
 

programming_language: PHP
filename: moduloVisualizzazioneCatalogo.php
change_type: ModificationType.MODIFY
diff: @@ -21,7 +21,7 @@ $i = ($pagina * PRODOTTIPERPAGINA) - (PRODOTTIPERPAGINA);
 
 while ($i < PRODOTTIPERPAGINA * $pagina && $i< count($dati)) {
     print '<div class="corpoCatalogo">' . '<div class="catcolsx"><img alt="Immagine non trovata"
-        src="' . HOME_WEB . '/' . $cartellaImmaginePrincipale . '/thumb/' . $dati[$i]['immagine'] . '">' .
+        src="' . HOME_WEB . $cartellaImmaginePrincipale . '/thumb/' . $dati[$i]['immagine'] . '">' .
         '</div>' . '<div class="catcoldx"><p><b>Codice Prodotto: </b>' . $dati[$i]['codiceprodotto'] . '</p>' .
         '<p><b>Nome Prodotto: </b>' . $dati[$i]['nomeprodotto'] . '</p>' .
         '<p><b>Descrizione: </b>' . $dati[$i]['descrizione'] . '</p>' .

programming_language: PHP
filename: moduloVisualizzazioneFattura.php
change_type: ModificationType.MODIFY
diff: @@ -4,7 +4,7 @@ include HOME_ROOT . '/script/funzioni.php';
 
 if($_SERVER['REQUEST_METHOD'] != 'GET'){
     $connessione = creaConnessione(SERVER,UTENTE,PASSWORD,DATABASE);
-    $query = sprintf("SELECT p.codiceprodotto, p.nomeprodotto, c.quantita, p.prezzo FROM tblcarrelli AS c JOIN tblprodotti AS p ON c.codiceprodotto = p.codiceprodotto WHERE c.codiceutente='%s'",$_POST['codicefiscale']);
+    $query = sprintf("SELECT p.codiceprodotto, p.nomeprodotto, c.quantita, p.prezzo FROM tblcarrelli AS c JOIN tblprodotti AS p ON c.codiceprodotto = p.codiceprodotto WHERE c.codiceutente='%s'",rendiSicuro($_POST['codicefiscale']));
     $dati = eseguiQuery($connessione, $query);
 
     $prezzoFinale = 0;

programming_language: PHP
filename: testa.php
change_type: ModificationType.MODIFY
diff: @@ -7,12 +7,10 @@
     <script type="text/javascript" src="<?php print HOME_WEB; ?>js/modernizr.custom.17475.js"></script>
     <script type="text/javascript" src="<?php print HOME_WEB; ?>js/jquery.elastislide.js"></script>
     <script type="text/javascript" src="<?php print HOME_WEB; ?>js/funzioni.js"></script>
-    <style type="text/css">
-        @import url(<?php print HOME_WEB;?>css/stile.css);
-        @import url(<?php print HOME_WEB;?>css/jquery-ui.min.css);
-        @import url(<?php print HOME_WEB;?>css/style.css);
-        @import url(<?php print HOME_WEB;?>css/elastislide.css);
-    </style>
+    <link rel="stylesheet" href="<?php print HOME_WEB;?>css/stile.css" type="text/css">
+    <link rel="stylesheet" href="<?php print HOME_WEB;?>css/jquery-ui.min.css" type="text/css">
+    <link rel="stylesheet" href="<?php print HOME_WEB;?>css/style.css" type="text/css">
+    <link rel="stylesheet" href="<?php print HOME_WEB;?>css/elastislide.css" type="text/css">
 </head>
 <body>
 <div id="contenuto">

programming_language: PHP
filename: funzioni.php
change_type: ModificationType.MODIFY
diff: @@ -20,6 +20,15 @@ function eseguiQuery($connessione,$query){
     return $dati;
 }
 
+function rendiSicuro($parametro){
+    // La funzione viene impiegata per evitare eventuali tentativi di sql injection nel database
+    if(get_magic_quotes_gpc()){
+        return $parametro;
+    }else{
+        return mysql_real_escape_string($parametro);
+    }
+}
+
 function chiudiConnessione($connessione){
     mysqli_close($connessione);
 }
@@ -135,7 +144,7 @@ function ricercaProdotto($nomeCercato,$destinazione) {
     // La funzione di ricerca viene utilizzata nelle fasi di modifica e cancellazione per individuare l'oggetto dell'operazione
     $connessione = creaConnessione(SERVER,UTENTE,PASSWORD,DATABASE);
     print '<p class="informazione">Sono stati individuati i seguenti risultati potenziali</p>';
-    $query = "SELECT * FROM tblprodotti AS p LEFT JOIN tblprodotticonsole AS pc ON p.codiceprodotto = pc.codiceprodotto WHERE nomeprodotto LIKE '%".$nomeCercato."%' ORDER BY nomeprodotto ASC";
+    $query = "SELECT * FROM tblprodotti AS p LEFT JOIN tblprodotticonsole AS pc ON p.codiceprodotto = pc.codiceprodotto WHERE nomeprodotto LIKE '%".rendiSicuro($nomeCercato)."%' ORDER BY nomeprodotto ASC";
     $dati = eseguiQuery($connessione,$query);
     $contantoreRisultati = 0;
 
@@ -168,7 +177,7 @@ function ricercaCategoria($nomeCercato, $destinazione){
 
     // La funzione di ricerca viene utilizzata nelle fasi di modifica e cancellazione per individuare l'oggetto dell'operazione
     $connessione = creaConnessione(SERVER,UTENTE,PASSWORD,DATABASE);
-    $query = "SELECT * FROM tblcategorie WHERE nome LIKE '%".$nomeCercato."%'"."ORDER BY nome ASC";
+    $query = "SELECT * FROM tblcategorie WHERE nome LIKE '%".rendiSicuro($nomeCercato)."%'"."ORDER BY nome ASC";
     $dati = eseguiQuery($connessione,$query);
     $contantoreRisultati = 0;
     print '<p class="informazione">Sono stati individuati i seguenti risultati potenziali</p>';
@@ -203,7 +212,7 @@ function ricercaConsole($nomeCercato, $destinazione){
 
     // La funzione di ricerca viene utilizzata nelle fasi di modifica e cancellazione per individuare l'oggetto dell'operazione
     $connessione = creaConnessione(SERVER,UTENTE,PASSWORD,DATABASE);
-    $query = "SELECT * FROM tblconsole WHERE nome LIKE '%".$nomeCercato."%'"."ORDER BY nome ASC";
+    $query = "SELECT * FROM tblconsole WHERE nome LIKE '%".rendiSicuro($nomeCercato)."%'"."ORDER BY nome ASC";
     $dati = eseguiQuery($connessione,$query);
     $contantoreRisultati = 0;
 
@@ -234,7 +243,7 @@ function ricercaUtente($utenteCercato, $destinazione){
 
     // La funzione stampa direttamente tutti gli utenti registrati
     $connessione = creaConnessione(SERVER,UTENTE,PASSWORD,DATABASE);
-    $query = "SELECT user, dirittoAmministratore FROM tblutenti WHERE user != '".$_SESSION['username']."' AND user LIKE '%".$utenteCercato."%'"." ORDER BY user ASC";
+    $query = "SELECT user, dirittoAmministratore FROM tblutenti WHERE user != '".rendiSicuro($_SESSION['username'])."' AND user LIKE '%".rendiSicuro($utenteCercato)."%'"." ORDER BY user ASC";
     $dati = eseguiQuery($connessione,$query);
     $contantoreRisultati = 0;
 

programming_language: PHP
filename: scriptAmministrazione.php
change_type: ModificationType.MODIFY
diff: @@ -8,7 +8,7 @@ if($_SERVER['REQUEST_METHOD'] != 'GET'){
     $connessione = creaConnessione(SERVER, UTENTE, PASSWORD, DATABASE);
 
     for($i = 0; $i < count($_POST['user']); $i++) {
-        $query = sprintf("UPDATE tblutenti SET dirittoAmministratore='%s' WHERE user='%s'", $_POST['dirittoAmministratore'][$i], $_POST['user'][$i]);
+        $query = sprintf("UPDATE tblutenti SET dirittoAmministratore='%s' WHERE user='%s'", rendiSicuro($_POST['dirittoAmministratore'][$i]), rendiSicuro($_POST['user'][$i]));
         $dati = eseguiQuery($connessione, $query);
     }
 

programming_language: PHP
filename: scriptConfermaAcquisto.php
change_type: ModificationType.MODIFY
diff: @@ -8,28 +8,28 @@ if($_SERVER['REQUEST_METHOD'] != 'GET'){
 
     /* Il codice fiscale viene salvato per poter recuperare le tuple presenti nella tabella molti a molti del carrello
      in base all'utente collegato con un dato username in quell'istante */
-    $query = sprintf("SELECT codicefiscale FROM tblutenti WHERE user='".$_SESSION['username']."'");
+    $query = sprintf("SELECT codicefiscale FROM tblutenti WHERE user='".rendiSicuro($_SESSION['username'])."'");
     $dati = eseguiQuery($connessione,$query);
     $codiceFiscale = $dati[0]['codicefiscale'];
 
     // Recupero dei prodotti inseriti nel carrello dell'utente collegato
     $connessione = creaConnessione(SERVER,UTENTE,PASSWORD,DATABASE);
-    $query = sprintf("SELECT p.codiceprodotto, p.nomeprodotto, c.quantita, p.prezzo FROM tblcarrelli AS c JOIN tblprodotti AS p ON c.codiceprodotto = p.codiceprodotto WHERE c.codiceutente='%s'",$codiceFiscale);
+    $query = sprintf("SELECT p.codiceprodotto, p.nomeprodotto, c.quantita, p.prezzo FROM tblcarrelli AS c JOIN tblprodotti AS p ON c.codiceprodotto = p.codiceprodotto WHERE c.codiceutente='%s'",rendiSicuro($codiceFiscale));
     $dati = eseguiQuery($connessione, $query);
 
     foreach ($dati as $prodotto) {
         // Per ogni prodotto, viene recuperata la quantità in magazzino
-        $query = sprintf("SELECT numeropezzi FROM tblprodotti WHERE codiceprodotto='%s'",$prodotto['codiceprodotto']);
+        $query = sprintf("SELECT numeropezzi FROM tblprodotti WHERE codiceprodotto='%s'",rendiSicuro($prodotto['codiceprodotto']));
         $infoPezzi = eseguiQuery($connessione,$query);
         // La quantità aggiornata è data dalla quantità in magazzino meno la quantità richiesta
         $quantitàAggiornata = $infoPezzi[0]['numeropezzi'] - $prodotto['quantita'];
         // L'informazione su dabatase viene aggiornata
-        $query = sprintf("UPDATE tblprodotti SET numeropezzi='%d' WHERE codiceprodotto='%s'",$quantitàAggiornata,$prodotto['codiceprodotto']);
+        $query = sprintf("UPDATE tblprodotti SET numeropezzi='%d' WHERE codiceprodotto='%s'",rendiSicuro($quantitàAggiornata),rendiSicuro($prodotto['codiceprodotto']));
         $dati = eseguiQuery($connessione,$query);
     }
 
 // Una volta compiute le operazioni d'aggiornamento, le tuple dell'utente nel carrello vengono cancellate
-    $query = sprintf("DELETE FROM tblcarrelli WHERE codiceutente='%s'",$codiceFiscale);
+    $query = sprintf("DELETE FROM tblcarrelli WHERE codiceutente='%s'",rendiSicuro($codiceFiscale));
     eseguiQuery($connessione, $query);
 
     chiudiConnessione($connessione);

programming_language: PHP
filename: scriptControlloLoginAdmin.php
change_type: ModificationType.MODIFY
diff: @@ -5,7 +5,7 @@ include HOME_ROOT . '/script/funzioni.php';
 if($_SERVER['REQUEST_METHOD'] != 'GET'){
 
     $connessione = creaConnessione(SERVER, UTENTE, PASSWORD, DATABASE);
-    $query = sprintf("SELECT user, psw, dirittoamministratore FROM tblutenti WHERE user=" . "'" . $_POST['username'] . "'" . " AND " . "psw=" . "'" . sha1($_POST['password']) . "'");
+    $query = sprintf("SELECT user, psw, dirittoamministratore FROM tblutenti WHERE user=" . "'" . rendiSicuro($_POST['username']) . "'" . " AND " . "psw=" . "'" . rendiSicuro(sha1($_POST['password'])) . "'");
     $dati = eseguiQuery($connessione, $query);
 
     if ($dati == null) {

programming_language: PHP
filename: scriptEliminazioneCarrello.php
change_type: ModificationType.MODIFY
diff: @@ -12,7 +12,7 @@ if($_SERVER['REQUEST_METHOD'] != 'GET'){
 // La query recupera la tupla del prodotto da eliminare dal carrello in base al codice del prodotto stesso e all'utente collegato
     $query = sprintf("SELECT u.codicefiscale, c.codiceprodotto, c.quantita
              FROM tblutenti AS u JOIN tblcarrelli AS c ON u.codicefiscale = c.codiceutente
-             WHERE u.user='%s' AND c.codiceprodotto='%s'", $utente, $codiceEliminazione);
+             WHERE u.user='%s' AND c.codiceprodotto='%s'", rendiSicuro($utente), rendiSicuro($codiceEliminazione));
     $dati = eseguiQuery($connessione, $query);
 
     if ($quantitaEliminazione > $dati[0]['quantita']) {
@@ -20,22 +20,22 @@ if($_SERVER['REQUEST_METHOD'] != 'GET'){
     } else {
 
         // il codice fiscale dell'utente collegato viene recuperato
-        $query = sprintf("SELECT codicefiscale FROM tblutenti WHERE user='%s'", $utente);
+        $query = sprintf("SELECT codicefiscale FROM tblutenti WHERE user='%s'", rendiSicuro($utente));
         $infoUtente = eseguiQuery($connessione, $query);
         $codiceFiscale = $infoUtente[0]['codicefiscale'];
 
 
         // la quantità di prodotto presente nel carrello dell'utente viene aggiornata
         $quantitaAggiornata = $dati[0]['quantita'] - $quantitaEliminazione;
-        $query = sprintf("UPDATE tblCarrelli SET quantita='%d' WHERE codiceprodotto='%s' AND codiceutente='%s'", $quantitaAggiornata, $codiceEliminazione, $codiceFiscale);
+        $query = sprintf("UPDATE tblCarrelli SET quantita='%d' WHERE codiceprodotto='%s' AND codiceutente='%s'", rendiSicuro($quantitaAggiornata), rendiSicuro($codiceEliminazione), rendiSicuro($codiceFiscale));
         $dati = eseguiQuery($connessione, $query);
 
-        $query = sprintf("SELECT quantita FROM tblcarrelli WHERE codiceprodotto='%s' AND codiceutente='%s'", $codiceEliminazione, $codiceFiscale);
+        $query = sprintf("SELECT quantita FROM tblcarrelli WHERE codiceprodotto='%s' AND codiceutente='%s'", rendiSicuro($codiceEliminazione), rendiSicuro($codiceFiscale));
         $dati = eseguiQuery($connessione, $query);
 
         // Se la nuova quantità di prodotto presente nel carrello è negativa o zero, l'intera tupla viene eliminata
         if ($dati[0]['quantita'] <= 0) {
-            $query = sprintf("DELETE FROM tblcarrelli WHERE codiceutente='%s' AND codiceprodotto='%s'", $codiceFiscale, $codiceEliminazione);
+            $query = sprintf("DELETE FROM tblcarrelli WHERE codiceutente='%s' AND codiceprodotto='%s'", rendiSicuro($codiceFiscale), rendiSicuro($codiceEliminazione));
             $dati = eseguiQuery($connessione, $query);
         }
         print '<p class="successo">Aggiornamento del carrello eseguito correttamente</p>';

programming_language: PHP
filename: scriptEliminazioneCategoria.php
change_type: ModificationType.MODIFY
diff: @@ -6,13 +6,13 @@ if($_SERVER['REQUEST_METHOD'] != 'GET'){
 
     $connessione = creaConnessione(SERVER, UTENTE, PASSWORD, DATABASE);
 
-    $query = sprintf("SELECT COUNT(codiceprodotto) FROM tblprodotti WHERE categoria='%s'", $_POST['nome']);
+    $query = sprintf("SELECT COUNT(codiceprodotto) FROM tblprodotti WHERE categoria='%s'", rendiSicuro($_POST['nome']));
     $dati = eseguiQuery($connessione, $query);
 
     if(intval($dati[0]['COUNT(codiceprodotto)'] > 0)){
         print '<p class="informazione">Elimina tutti i prodotti presenti in questa categoria prima di procedere</p>';
     } else {
-        $query = sprintf("DELETE FROM tblcategorie WHERE nome='%s'", $_POST['nome']);
+        $query = sprintf("DELETE FROM tblcategorie WHERE nome='%s'", rendiSicuro($_POST['nome']));
         $dati = eseguiQuery($connessione, $query);
         print '<p class="successo">La categoria &egrave; stata eliminata con successo</p>';
     }

programming_language: PHP
filename: scriptEliminazioneConsole.php
change_type: ModificationType.MODIFY
diff: @@ -6,13 +6,13 @@ if($_SERVER['REQUEST_METHOD'] != 'GET'){
 
     $connessione = creaConnessione(SERVER, UTENTE, PASSWORD, DATABASE);
 
-    $query = sprintf("SELECT COUNT(console) FROM tblprodotticonsole WHERE console='%s'", $_POST['nome']);
+    $query = sprintf("SELECT COUNT(console) FROM tblprodotticonsole WHERE console='%s'", rendiSicuro($_POST['nome']));
     $dati = eseguiQuery($connessione, $query);
 
     if(intval($dati[0]['COUNT(console)'] > 0)){
         print '<p class="informazione">Elimina tutti i prodotti associati a questa console prima di procedere</p>';
     } else {
-        $query = sprintf("DELETE FROM tblconsole WHERE nome='%s'", $_POST['nome']);
+        $query = sprintf("DELETE FROM tblconsole WHERE nome='%s'", rendiSicuro($_POST['nome']));
         $dati = eseguiQuery($connessione, $query);
         print '<p class="successo">La console &egrave; stata eliminata con successo</p>';
     }

programming_language: PHP
filename: scriptEliminazioneProdotto.php
change_type: ModificationType.MODIFY
diff: @@ -6,16 +6,16 @@ if($_SERVER['REQUEST_METHOD'] != 'GET'){
 
     $connessione = creaConnessione(SERVER, UTENTE, PASSWORD, DATABASE);
 
-    $query = sprintf("DELETE FROM tblcarrelli WHERE codiceprodotto='%s'", $_POST['codiceprodotto']);
+    $query = sprintf("DELETE FROM tblcarrelli WHERE codiceprodotto='%s'", rendiSicuro($_POST['codiceprodotto']));
     $dati = eseguiQuery($connessione, $query);
 
-    $query = sprintf("DELETE FROM tblprodotticonsole WHERE codiceprodotto='%s'", $_POST['codiceprodotto']);
+    $query = sprintf("DELETE FROM tblprodotticonsole WHERE codiceprodotto='%s'", rendiSicuro($_POST['codiceprodotto']));
     $dati = eseguiQuery($connessione, $query);
 
-    $query = sprintf("SELECT galleria, immagine FROM tblprodotti WHERE codiceprodotto='%s'", $_POST['codiceprodotto']);
+    $query = sprintf("SELECT galleria, immagine FROM tblprodotti WHERE codiceprodotto='%s'", rendiSicuro($_POST['codiceprodotto']));
     $dati = eseguiQuery($connessione, $query);
 
-    $query = sprintf("SELECT COUNT(galleria) FROM tblprodotti WHERE galleria ='%s'", $dati[0]['galleria']);
+    $query = sprintf("SELECT COUNT(galleria) FROM tblprodotti WHERE galleria ='%s'", rendiSicuro($dati[0]['galleria']));
     $numeroVersioni = eseguiQuery($connessione, $query);
 
     // $numeroVersioni indica quanti prodotti condividono la stessa galleria
@@ -47,7 +47,7 @@ if($_SERVER['REQUEST_METHOD'] != 'GET'){
         print '<p class="errore">La thumbnail dell\'immagine principale non esiste</p>';
     }
 
-    $query = sprintf("DELETE FROM tblprodotti WHERE codiceprodotto='%s'", $_POST['codiceprodotto']);
+    $query = sprintf("DELETE FROM tblprodotti WHERE codiceprodotto='%s'", rendiSicuro($_POST['codiceprodotto']));
     $dati = eseguiQuery($connessione, $query);
 
     print '<p class="successo">Il prodotto &egrave; stato eliminato con successo</p>';

programming_language: PHP
filename: scriptInserimentoCarrello.php
change_type: ModificationType.MODIFY
diff: @@ -11,7 +11,7 @@ if($_SERVER['REQUEST_METHOD'] != 'GET'){
     $quantitaInserimento = $_POST['quantita'];
     $codiceInserimento = $_POST['codiceprodotto'];
 
-    $query = sprintf("SELECT numeropezzi FROM tblprodotti WHERE codiceprodotto='%s'", $codiceInserimento);
+    $query = sprintf("SELECT numeropezzi FROM tblprodotti WHERE codiceprodotto='%s'", rendiSicuro($codiceInserimento));
     $dati = eseguiQuery($connessione, $query);
 
     if (($quantitaInserimento > $dati[0]['numeropezzi']) || ($quantitaInserimento <= 0)) {
@@ -21,14 +21,14 @@ if($_SERVER['REQUEST_METHOD'] != 'GET'){
         $query = sprintf("SELECT u.codicefiscale, c.codiceprodotto, c.quantita, p.numeropezzi
              FROM (tblutenti AS u JOIN tblcarrelli AS c ON u.codicefiscale = c.codiceutente)
              JOIN tblprodotti AS p on c.codiceprodotto = p.codiceprodotto
-             WHERE u.user='%s' AND c.codiceprodotto='%s'", $utente, $codiceInserimento);
+             WHERE u.user='%s' AND c.codiceprodotto='%s'", rendiSicuro($utente), rendiSicuro($codiceInserimento));
 
         $dati = eseguiQuery($connessione, $query);
         $codiceFiscale = $dati[0]['codicefiscale'];
 
         // Se il prodotto selezionato non è già presente nel carrello, lo aggiunge.
         if (!$dati) {
-            $query = sprintf("INSERT INTO tblcarrelli(codiceprodotto, codiceutente, quantita) VALUE ('%s','%s','%d')", $codiceInserimento, $codiceFiscale, $quantitaInserimento);
+            $query = sprintf("INSERT INTO tblcarrelli(codiceprodotto, codiceutente, quantita) VALUE ('%s','%s','%d')", rendiSicuro($codiceInserimento), rendiSicuro($codiceFiscale), rendiSicuro($quantitaInserimento));
             $dati = eseguiQuery($connessione, $query);
             print '<p class="successo">Inserimento nel carrello avvenuto correttamente</p>';
         } else {
@@ -37,7 +37,7 @@ if($_SERVER['REQUEST_METHOD'] != 'GET'){
             if ($quantitaTotale > $dati[0]['numeropezzi']) {
                 print '<p class="errore">Attenzione, non puoi inserire una quantit&agrave; di prodotto maggiore di quella in magazzino!</p>';
             } else {
-                $query = sprintf("UPDATE tblcarrelli SET quantita='%d' WHERE codiceprodotto='%s' AND codiceutente ='%s'", $quantitaTotale, $codiceInserimento, $codiceFiscale);
+                $query = sprintf("UPDATE tblcarrelli SET quantita='%d' WHERE codiceprodotto='%s' AND codiceutente ='%s'", rendiSicuro($quantitaTotale), rendiSicuro($codiceInserimento), rendiSicuro($codiceFiscale));
                 $dati = eseguiQuery($connessione, $query);
                 print '<p class="successo">Aggiornamento del carrello avvenuto correttamente</p>';
             }

programming_language: PHP
filename: scriptInserimentoCategoria.php
change_type: ModificationType.MODIFY
diff: @@ -5,7 +5,7 @@ include HOME_ROOT . '/script/funzioni.php';
 if($_SERVER['REQUEST_METHOD'] != 'GET'){
 
     $connessione = creaConnessione(SERVER, UTENTE, PASSWORD, DATABASE);
-    $query = sprintf("INSERT INTO tblcategorie(nome) VALUE ('%s')", $_POST['nome']);
+    $query = sprintf("INSERT INTO tblcategorie(nome) VALUE ('%s')", rendiSicuro($_POST['nome']));
     $dati = eseguiQuery($connessione, $query);
 
     chiudiConnessione($connessione);

programming_language: PHP
filename: scriptInserimentoConsole.php
change_type: ModificationType.MODIFY
diff: @@ -6,9 +6,9 @@ if($_SERVER['REQUEST_METHOD'] != 'GET'){
 
     $connessione = creaConnessione(SERVER, UTENTE, PASSWORD, DATABASE);
     if (trim($_POST['produttore']) == '') {
-        $query = sprintf("INSERT INTO tblconsole(nome) VALUE ('%s')", $_POST['nome']);
+        $query = sprintf("INSERT INTO tblconsole(nome) VALUE ('%s')", rendiSicuro($_POST['nome']));
     } else {
-        $query = sprintf("INSERT INTO tblconsole(nome,produttore) VALUE ('%s','%s')", $_POST['nome'], $_POST['produttore']);
+        $query = sprintf("INSERT INTO tblconsole(nome,produttore) VALUE ('%s','%s')", rendiSicuro($_POST['nome']), rendiSicuro($_POST['produttore']));
     }
     $dati = eseguiQuery($connessione, $query);
 

programming_language: PHP
filename: scriptInserimentoImmagine.php
change_type: ModificationType.MODIFY
diff: @@ -6,7 +6,7 @@ include HOME_ROOT . '/html/testa.php';
 if($_SERVER['REQUEST_METHOD'] != 'GET'){
 
     $connessione = creaConnessione(SERVER, UTENTE, PASSWORD, DATABASE);
-    $query = sprintf("SELECT galleria FROM tblprodotti WHERE codiceprodotto='" . $_POST['codiceprodotto'] . "'");
+    $query = sprintf("SELECT galleria FROM tblprodotti WHERE codiceprodotto='" . rendiSicuro($_POST['codiceprodotto']) . "'");
     $dati = eseguiQuery($connessione, $query);
 
     $percorsoGalleria = 'img/' . $dati[0]['galleria'];

programming_language: PHP
filename: scriptInserimentoProdotto.php
change_type: ModificationType.MODIFY
diff: @@ -14,10 +14,10 @@ if($_SERVER['REQUEST_METHOD'] != 'GET'){
     gestioneImmagine($indice,'');
     generaThumbnail($_FILES['immagine']['tmp_name'],'/img/thumb',200,268,$indice);
 
-    $query = sprintf("INSERT INTO tblprodotti(codiceprodotto, nomeprodotto, descrizione, prezzo, numeropezzi, immagine, galleria, categoria) VALUE ('%s','%s','%s','%d','%d','%s','%s','%s')", strtoupper(trim($_POST['codiceprodotto'])), $_POST['nomeprodotto'], $_POST['descrizione'], $_POST['prezzo'], $_POST['numeropezzi'], $_FILES['immagine']['name'], trim($_POST['galleria']), $_POST['categoria']);
+    $query = sprintf("INSERT INTO tblprodotti(codiceprodotto, nomeprodotto, descrizione, prezzo, numeropezzi, immagine, galleria, categoria) VALUE ('%s','%s','%s','%d','%d','%s','%s','%s')", rendiSicuro(strtoupper(trim($_POST['codiceprodotto']))), rendiSicuro($_POST['nomeprodotto']), rendiSicuro($_POST['descrizione']), rendiSicuro($_POST['prezzo']), rendiSicuro($_POST['numeropezzi']), rendiSicuro($_FILES['immagine']['name']), rendiSicuro(trim($_POST['galleria'])), rendiSicuro($_POST['categoria']));
     $dati = eseguiQuery($connessione, $query);
 
-    $query = sprintf("INSERT INTO tblprodotticonsole(codiceprodotto, console) VALUE ('%s','%s')", $_POST['codiceprodotto'], $_POST['console']);
+    $query = sprintf("INSERT INTO tblprodotticonsole(codiceprodotto, console) VALUE ('%s','%s')", rendiSicuro($_POST['codiceprodotto']), rendiSicuro($_POST['console']));
     $dati = eseguiQuery($connessione, $query);
 
     if(!file_exists($percorsoCartella)){

programming_language: PHP
filename: scriptInserimentoUtente.php
change_type: ModificationType.MODIFY
diff: @@ -5,7 +5,7 @@ include HOME_ROOT . '/script/funzioni.php';
 if($_SERVER['REQUEST_METHOD'] != 'GET'){
 
     $connessione = creaConnessione(SERVER, UTENTE, PASSWORD, DATABASE);
-    $query = sprintf("INSERT INTO tblUtenti(codicefiscale, nome, cognome, datanascita, citta, indirizzo, email, telefono, user, psw, dirittoamministratore) VALUE ('%s','%s','%s','%s','%s','%s','%s','%s','%s','%s','%s')", strtoupper($_POST['codicefiscale']), $_POST['nome'], $_POST['cognome'], $_POST['datanascita'],$_POST['citta'], $_POST['indirizzo'], $_POST['email'], $_POST['telefono'], $_POST['username'], sha1($_POST['password']), "no");
+    $query = sprintf("INSERT INTO tblUtenti(codicefiscale, nome, cognome, datanascita, citta, indirizzo, email, telefono, user, psw, dirittoamministratore) VALUE ('%s','%s','%s','%s','%s','%s','%s','%s','%s','%s','%s')", rendiSicuro(strtoupper($_POST['codicefiscale'])), rendiSicuro($_POST['nome']), rendiSicuro($_POST['cognome']), rendiSicuro($_POST['datanascita']),rendiSicuro($_POST['citta']), rendiSicuro($_POST['indirizzo']), rendiSicuro($_POST['email']), rendiSicuro($_POST['telefono']), rendiSicuro($_POST['username']), rendiSicuro(sha1($_POST['password'])), rendiSicuro("no"));
     $dati = eseguiQuery($connessione, $query);
     chiudiConnessione($connessione);
 

programming_language: PHP
filename: scriptModificaCategoria.php
change_type: ModificationType.MODIFY
diff: @@ -5,7 +5,7 @@ include HOME_ROOT . '/script/funzioni.php';
 if($_SERVER['REQUEST_METHOD'] != 'GET'){
 
     $connessione = creaConnessione(SERVER, UTENTE, PASSWORD, DATABASE);
-    $query = sprintf("UPDATE tblcategorie SET nome='%s' WHERE nome='%s'", $_POST['nome'], $_POST['nomeOld']);
+    $query = sprintf("UPDATE tblcategorie SET nome='%s' WHERE nome='%s'", rendiSicuro($_POST['nome']), rendiSicuro($_POST['nomeOld']));
     $dati = eseguiQuery($connessione, $query);
 
     chiudiConnessione($connessione);

programming_language: PHP
filename: scriptModificaConsole.php
change_type: ModificationType.MODIFY
diff: @@ -7,9 +7,9 @@ if($_SERVER['REQUEST_METHOD'] != 'GET'){
     $connessione = creaConnessione(SERVER, UTENTE, PASSWORD, DATABASE);
 
     if (trim($_POST['produttore']) == '') {
-        $query = sprintf("UPDATE tblconsole SET nome='%s', produttore=NULL WHERE nome='%s'", $_POST['nome'], $_POST['nomeOld']);
+        $query = sprintf("UPDATE tblconsole SET nome='%s', produttore=NULL WHERE nome='%s'", rendiSicuro($_POST['nome']), rendiSicuro($_POST['nomeOld']));
     } else {
-        $query = sprintf("UPDATE tblconsole SET nome='%s', produttore='%s' WHERE nome='%s'", $_POST['nome'], $_POST['produttore'], $_POST['nomeOld']);
+        $query = sprintf("UPDATE tblconsole SET nome='%s', produttore='%s' WHERE nome='%s'", rendiSicuro($_POST['nome']), rendiSicuro($_POST['produttore']), rendiSicuro($_POST['nomeOld']));
     }
 
     $dati = eseguiQuery($connessione, $query);

programming_language: PHP
filename: scriptModificaProdotto.php
change_type: ModificationType.MODIFY
diff: @@ -14,7 +14,7 @@ if($_SERVER['REQUEST_METHOD'] != 'GET'){
         generaThumbnail($_FILES['immagine']['tmp_name'],'/img/thumb',200,268,$indice);
     }
 
-    $query = sprintf("SELECT galleria, immagine FROM tblprodotti WHERE codiceprodotto='%s'", $_POST['codiceprodotto']);
+    $query = sprintf("SELECT galleria, immagine FROM tblprodotti WHERE codiceprodotto='%s'", rendiSicuro($_POST['codiceprodotto']));
     $dati = eseguiQuery($connessione, $query);
 
 // Utilizzato per la rinomina della galleria
@@ -41,10 +41,10 @@ if($_SERVER['REQUEST_METHOD'] != 'GET'){
         print '<p class="successo">' . "L'immagine principale &egrave; stata aggiornata con successo</p>";
     }
 
-    $query = sprintf("UPDATE tblprodotti SET nomeprodotto='%s', descrizione='%s', prezzo='%d', numeropezzi='%d', immagine='%s',galleria='%s',categoria='%s' WHERE codiceprodotto='%s'", $_POST['nomeprodotto'], $_POST['descrizione'], $_POST['prezzo'], $_POST['numeropezzi'], $_FILES['immagine']['name'], $_POST['galleria'], $_POST['categoria'], $_POST['codiceprodotto']);
+    $query = sprintf("UPDATE tblprodotti SET nomeprodotto='%s', descrizione='%s', prezzo='%d', numeropezzi='%d', immagine='%s',galleria='%s',categoria='%s' WHERE codiceprodotto='%s'", rendiSicuro($_POST['nomeprodotto']), rendiSicuro($_POST['descrizione']), rendiSicuro($_POST['prezzo']), rendiSicuro($_POST['numeropezzi']), rendiSicuro($_FILES['immagine']['name']), rendiSicuro($_POST['galleria']), rendiSicuro($_POST['categoria']), rendiSicuro($_POST['codiceprodotto']));
     $dati = eseguiQuery($connessione, $query);
 
-    $query = sprintf("UPDATE tblprodotti SET galleria='%s' WHERE galleria='%s'", $_POST['galleria'], $galleriaOld);
+    $query = sprintf("UPDATE tblprodotti SET galleria='%s' WHERE galleria='%s'", rendiSicuro($_POST['galleria']), rendiSicuro($galleriaOld));
     $dati = eseguiQuery($connessione, $query);
 
     print '<p class="successo">La modifica del prodotto &egrave; avvenuta correttamente</p>';

programming_language: PHP
filename: scriptModificaUtente.php
change_type: ModificationType.MODIFY
diff: @@ -5,7 +5,7 @@ include HOME_ROOT . '/script/funzioni.php';
 if($_SERVER['REQUEST_METHOD'] != 'GET'){
 
     $connessione = creaConnessione(SERVER, UTENTE, PASSWORD, DATABASE);
-    $query = sprintf("UPDATE tblutenti SET codicefiscale='%s', nome='%s', cognome='%s', datanascita='%s',citta='%s', indirizzo='%s', email='%s', telefono='%s', user='%s', psw='%s' WHERE codicefiscale='%s'", strtoupper($_POST['codicefiscale']), $_POST['nome'], $_POST['cognome'], $_POST['datanascita'],$_POST['citta'], $_POST['indirizzo'], $_POST['email'], $_POST['telefono'], $_POST['username'], sha1($_POST['password']),$_POST['oldcodicefiscale']);
+    $query = sprintf("UPDATE tblutenti SET codicefiscale='%s', nome='%s', cognome='%s', datanascita='%s',citta='%s', indirizzo='%s', email='%s', telefono='%s', user='%s', psw='%s' WHERE codicefiscale='%s'", rendiSicuro(strtoupper($_POST['codicefiscale'])), rendiSicuro($_POST['nome']), rendiSicuro($_POST['cognome']), rendiSicuro($_POST['datanascita']),rendiSicuro($_POST['citta']), rendiSicuro($_POST['indirizzo']), rendiSicuro($_POST['email']), rendiSicuro($_POST['telefono']), rendiSicuro($_POST['username']), rendiSicuro(sha1($_POST['password'])),rendiSicuro($_POST['oldcodicefiscale']));
     $dati = eseguiQuery($connessione, $query);
 
     chiudiConnessione($connessione);

programming_language: PHP
filename: configurazione.inc
change_type: ModificationType.MODIFY
diff: @@ -13,11 +13,11 @@ session_start();
 Esempio: il file index.php si trova nella cartella sito dentro alla cartella public_html
 HOME_WEB: /public_html/sito/
 La costante viene utilizzata quando può essere utilizzato un percorso di tipo relativo*/
-define('HOME_WEB','/Complementi/Progetto/');
+define('HOME_WEB','/');
 // Le costanti SERVER, UTENTE, PASSWORD, DATABASE sono necessarie per eseguire le query alla base di dati desiderata.
 define('SERVER','localhost');
 define('UTENTE','root');
-define('PASSWORD','');
+define('PASSWORD','root');
 define('DATABASE','ecommerce');
 
 /* CONFIGURAZIONE FACOLTATIVA */

programming_language: PHP