¿Por qué los parámetros de URL representan una amenaza para la seguridad?

0

Sé que con los ataques de inyección SQL en aumento, los sitios web tienen que reforzar la seguridad. Entiendo que 'Dorks' son generalmente la forma en que entran.

¿Por qué, por ejemplo, php?id=x plantear una posible amenaza para el sitio vs. decir index.php?

Shea A.
fuente

Respuestas:

0

Bueno, tan pronto como expones los parámetros al usuario, el atacante sabe que serán analizados. En este caso, show.php?id=foo podría ser utilizado para cargar un sitio llamado foo.

En el código, podría verse así:

$site = $_GET['id'];
content_query = "SELECT content FROM sites WHERE name ='" + $site + "';";
# do some manual SQL queries
# then output the content
echo("<div id='content'>" . $content . "</div>");

Obviamente, aquí es donde el parámetro es propenso a inyección SQL , donde un atacante podría generar o eliminar fácilmente la base de datos completa.

O bien, el sitio podría tener algunos sitios "ocultos" que no están vinculados públicamente, pero que aún son accesibles. Supongamos que tiene sitios públicos con ID de 1 a 100, entonces un atacante podría adivinar que también tiene un sitio en show.php?id=101 a la que no querías enlazar.

Tenga en cuenta que en este contexto, un "idiota" es simplemente alguien que no asegura su sitio correctamente y lo haría exponer eso a través de Google —No es el nombre del vector de ataque.

slhck
fuente