Intenté encontrar algunas vulnerabilidades de inyección de SQL que podrían pasar por alto funciones que deberían evitar las vulnerabilidades de inyección de SQL, por ejemplo, mysql_real_escape_string
. Encontré un exploit y el autor describió la vulnerabilidad y publicó el código vulnerable:
<?php
if(isset($_GET['pagename'])){
$name=$_GET['pagename'];
$query=sprintf("SELECT* FROM ".PREFIX."page WHERE
pagename = '%s' AND publish = 'Y'",$xx_con->real_escape_string($name));
}
Pero no describió cómo pasar por alto la protección, es decir, la función real_escape_string
. ¿Existe una vulnerabilidad real de SQLi en el código y cómo podría un atacante explotarlo?