Lavoro su applicazioni Web e, come sai, avere un pannello di amministrazione è un must nella maggior parte dei casi. Possiamo vedere che molte applicazioni web hanno una pagina di accesso specifica per gli amministratori in cui esiste un modulo (di solito il metodo POST
) che gli amministratori possono utilizzare per accedere al proprio pannello.
Ma poiché i nomi dei campi sono noti, un hacker può tentare di violare le password anche se sono implementati alcuni metodi di sicurezza.
Quindi qual è il problema con una semplice GET
key (come username) e il suo valore (come password)? Perché non è usato molto o almeno, non è suggerito in molti articoli?
Per gli amministratori, le pagine di accesso user-friendly non sono realmente necessarie! I dati verranno registrati in entrambi i casi ( GET
/ POST
) se è presente un MiTM attacker.
Ma usando questo metodo, i campi saranno sconosciuti aspettarsi per gli amministratori stessi. Ecco un esempio di codice PHP:
"category.php": (Un nome di pagina senza senso)
<?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
}
?>