Trabajo en aplicaciones web y, como saben, tener un panel de administradores es una necesidad en la mayoría de los casos. Podemos ver que muchas aplicaciones web tienen una página de inicio de sesión específica para administradores en la que hay un formulario (generalmente el método POST
) que los administradores pueden usar para iniciar sesión en su panel.
Pero como los nombres de los campos son conocidos, un pirata informático puede intentar descifrar las contraseñas incluso si se implementan algunos métodos de seguridad.
Entonces, ¿cuál es el problema con una simple clave GET
(como nombre de usuario) y su valor (como contraseña)? ¿Por qué no se usa mucho o, al menos, no se sugiere en muchos artículos?
¡Para los administradores, las páginas de inicio de sesión fáciles de usar no son realmente necesarias! Los datos se registrarán en ambos casos ( GET
/ POST
) si hay un atacante MiTM.
Pero usando este método, los campos serán desconocidos, y los administradores los esperan. Aquí hay un ejemplo de código PHP:
"category.php": (Un nombre de página sin significado)
<?php
if (isset($_GET['meaningless_user']) && $_GET['meaningless_word'] == "something"){
session_start();
$_SESSION["user"] = "test";
header('Location: category.php'); // Redirect to same or other page so GET parameters will disappear from the url
} else {
die(); // So it'll be like a blank page
}
?>