In questo tutorial vedremo come proteggersi da un tipico attacco hacker: l’Email – Injection. Nella prima parte vedremo che cos’è e che tipo di danni può causare. Nella seconda parte sarà possibile vedere come proteggere un form php da questo tipo di attacchi. L’email injection consiste nello sfruttare la funzione mail ( ) di php per iniettare negli header ulteriori indirizzi e-mail allo scopo di inviare Spam all’insaputa di chi ha messo a disposizione il form email.
email
Riprendendo in considerazione ciò che avevamo visto nel tutorial a proposito di un form php avevamo due file, di cui uno era
Info.htm
<form action=”form.php” method=”post”>
Nome: <input type=”text” name=”nome”><br>
Email: <input type=”text” name=”email”><br>
<input type=”submit” value=”Invia”>
</form>
form.php
<?php
$nome=$_POST[“nome”];
$email=$_POST[“email”];
$destinatario=”info@internet-news.it”;
$mittente=”From: $email”;
$oggetto=”Nuova iscrizione alla Newsletter di Internet News”;
$messaggio=”$nome si Х iscritto alla newsletter e ha comunicato questa e-mail $email”;
mail($destinatario,$oggetto,$messaggio,$mittente);
echo “Grazie per esserti iscritto alla newsletter di Internet-News”;
?>
Se fossi un hacker e volessi giocare con questo form email per mandare dello spam all’insaputa di chi ha creato il form, la cosa sarebbe abbastanza semplice basterebbe manipolare gli header dell’email in questo modo:
$email=$_POST[“email”]; E’ questa la variabile su dobbiamo agire per inviare lo spam. Nel campo email basta inserire un indirizzo email separato da %0A e aggiungere l’header desiderato (Bcc, Subject…) per poter generare spam e messaggi fasulli.
Per poter quindi difendersi da questa possibilità è necessario agire sul campo email in modo da non poter inserire email non valide che possano generare spam. Vedremo come.
Nessun Commento