Dubbio query dinamica con PHP

di il
1 risposte

Dubbio query dinamica con PHP

Buonasera a tutti,

sto facendo dei test di SQL Injection su un architettura LAMP di test che ho creato su una macchina virtuale.

Ho creato il seguente script PHP ( chiamato phptest_dinamicquery.php ) che effettua una query dinamica a un database MariaDB presente in locale:
<html>
<head>
</head>
<body>
<?php
        $dbhostname='localhost';
        $dbuser='root';
        $dbpassword='pass';
        $dbname='test';
        $id= $argv[1];
        //$id=$_GET['id'];      

        $connection=mysqli_connect($dbhostname,$dbuser,$dbpassword,$dbname);
        $query="SELECT name,value FROM prg_config WHERE id LIKE '$id';";

        $results=mysqli_query($connection, $query);

        if (!$results) {
                printf("Error: %s\n", mysqli_error($connection));
                exit();
        }

        while($row = mysqli_fetch_array($results, MYSQLI_NUM))
        {
                echo $row[0] . "<br>";
                echo $row[1] . "<br>";
        }
?>
</body>
</html>
quello che mi stavo chiedendo era come mai se richiamo lo script da console con il seguente comando:
php phptest_dinamicquery.php "2'; --"
mi viene ritornato questo errore:

Error: You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near '--'' at line 1

mentre invece se effettuo la query da dentro il DBMS MariaDB la stessa query ha successo:
MariaDB [test]> select name,value from prg_config where id like '2'; --'
+-------+---------+
| name  | value   |
+-------+---------+
| nome2 | valore2 |
+-------+---------+
1 row in set (0.07 sec)
Qualcuno mi sa aiutare?è tutto il pomeriggio che ci sbatto la testa...

Grazie!!

1 Risposte

Devi accedere o registrarti per scrivere nel forum
1 risposte