Ciao fred,
sono un po' perplesso sul fatto che un programma possa verificare se uno script è esposto alla SQL injection.
In pratica il programma simula dei tipici attacchi, tipo l'inserimento di caratteri ' o /* o simili e verifica l'eventuale presenza di errori.
Se ti va posta la query che costruisci con i dati del POST così discutiamo se possa essere manipolata.
Ho due file, nel primo ho una select box con una serie di squadre, in seguito all'evento "onchange" viene richiamato il secondo file.
Le variabili passate via post sono:
<select name="squadra" size="1" onchange="submit()">
....
</select>
<input type="hidden" name="funzione" value="calcolo">
<input type="hidden" name="tabPlayer" value="<?php echo $tabella;?>">
<input type="hidden" name="tabRose" value="<?php echo $rose;?>">
(Nota. $tabella e $rose sono due stringhe che identificano le tabelle da cui estrarre i dati)
Mentre nel secondo file innanzi tutto si verifica che la funzione sia proprio "calcolo" e successivamente si caricano le variabili passate:
<?php
if ($_POST["function"]=="calcolo") {
$tabella=$HTTP_POST_VARS['tabPlayer'];
$rose=$HTTP_POST_VARS['tabRose'];
$squadra=array($HTTP_POST_VARS['squadra']);
...
?>
Il punto è che $tabella e $rose vengono utilizzate per caricare i dati dei giocatori nella interrogazione SQL:
<?php
$sql="SELECT $rose.`id`,`r`,`fvoto` FROM $rose NATURAL JOIN $tabella WHERE `fsquadra`='$squadra[0]'";
...
?>
A questo punto la domanda: sono vulnerabile? :idiot:
Grazie :bye: