Spam Injection attack postato il 27/02/2009 10:31:36 nel forum programmazione, gdrcd, open source, hosting
In questi giorni mi sono imbattuto in un tipo di attacco che, ammetto, di non conoscere. Ossia un Spam Injection attack. Dopo aver letto dei log ho cominciato a cercare un po' su internet(stasera che sono a casa darò uno sguardo anche ai vari manuali) per vedere se vi è qualche spiegazione di questo tipo di attacco e, se devo essere sincero, ho capito ben poco. Quello che ho compreso è che una debolezza di PHP per cui si può, attraverso una form, inserendo una determinata sequenza di caratteri inserire un header di una mail e di conseguenza generare l'exploit.
Ho capito male? Ho capito bene?
C'è qualcuno che saprebbe approfondirmi il problema? Chiarirmi l'attacco, come viene effettuato e magari in quale modo prevenire? :)
Ed, in questo caso, chiarirlo anche ad altri che come me sono totalmente ignoranti di questo argomento :D
Grasie in anticipo a chi mi chiarirà le idee
nb: faccio presente che non è un bombardamento di Mail ma proprio l'inserimento di un messaggio dentro ad una form che, lato php, NON usa la funzione per l'invio di mail =P
ps: ovviamente i dati verranno filtrati togliendo i backslash generati da eventuali magic_quote e poi rimettendoli con la funzione mysql_real_escape_string con una aggiunta di un preg_replace del carattere @ che la funzione precedente non considera :D
Pagine → 1
27/02/2009 10:39:17
http://it.wikipedia.org/wiki/Cross-site_scripting
27/02/2009 10:43:45 e modificato da rhllor il 27/02/2009 11:08:11
Mi ero dimenticato:
Ovviamente prima di essere stampato a video viene anche rimossa la possibilità di inserimento di codice html con la classica funzione htmlspecialchars() =P
Provo a sostituirla con htmlentities con clausola entquotes va :)
27/02/2009 16:09:39 e modificato da rhllor il 27/02/2009 16:42:01
Ok, gira che ti rigira son riuscito a capire, più o meno, l'argomento e trattarlo. Ovviamente se qualcuno ne capisce di più è invitato a discutere e correggere eventuali miei errori o imprecisioni.
Il problema, generalmente, ricade sui form utilizzati per l'invio di mail. Utilizzando i caratteri di fine riga ( r n ) è possibile generare degli Header/Parametri aggiuntivi a quelli che noi abbiamo settato alle nostre email. Anche partendo dalle variabili che verranno utilizzate per inserire una il destinatario o il testo della mail.
La funzione mail()http://it.php.net/manual/it/function.mail.php non si preoccupa di controllare i dati passati ma si limita ad assemblarli per poi spedirli.
Poniamo ad esempio di avere una formmail che richiede tre parametri:
Email Destinatario, Titolo, Testo.
All'interno del parametro titolo potrei inserire un testo del genere:
"invio mail r n
Bcc: pippo@topolonia.it; pluto@topolonia.it; paperino@topolonia.it"
Questo generebbe l'invio della mail non al solo destinatario ma, anche, alle tre mail messe in copia nascosta in quanto abbiamo appena aggiunto un parametro in più alla mail.
Come risolvere questo problema:
Innanzitutto dobbiamo filtrare tutte e tre i parametri.
Per quanto riguarda il parametro della mail possiamo utilizzare il seguente controllo
Discussione seguita da
Pagine → 1
Rispondi alla Discussione Aggiungi ai Preferiti Inoltra Discussione Forum Programmazione, GDRCD, Open Source, Hosting Elenco Forum
Lineage II: Sblocca il tesoro del drago!
Enlisted: Cambiamento del software anti-cheat
Exclusive Villa GdR → Las Vegas, azzardo, vizi, soldi, intrighi... Più le sue luci sono scintillanti, più le sue ombre sono oscure. La città che non dorme mai, vi aspetta.
Le Cronache di Alderon: Record demografico a Alderon
I dati del generatore di rank sono stati aggiornati!
can_can ha risposto alla discussione: Peregrine GDR
staffsc ha aperto un annuncio di ricerca: Sun City ricerca Beta Tester
Storie di Agarthi → Un Varco si apre davanti a te, un mondo tra i mondi è a portata di mano. Lasciati alle spalle le certezze, diventa quello che hai sempre cercato.
Il gestore di Le Cronache di Alderon ha risposto alla recensione di darkblade
Saint or Sinner?: fine beta test!
Planethos GdR: Casati disponibili
Blood is the new Black: Club scolastici
The Voyager → La melodia distorta di un circo. Fenomeni da baraccone e strani aggeggi meccanici, in un guazzabuglio folle e orrendo il cui nome è Londra.
fooso ha recensito Le Cronache di Alderon
Immortals Revenge: Quattro nuovissimi mount!
Enlisted: Manutenzione del negozio
Storie di Agarthi → Un Varco si apre davanti a te, un mondo tra i mondi è a portata di mano. Lasciati alle spalle le certezze, diventa quello che hai sempre cercato.
Trends di Ricerca - Scopriamo assieme l'evoluzione nel tempo dei volumi di ricerche sui motori di ricerca delle chiavi di nostro interesse!
Tana del Ladro - Intervista al gestore di La Tana del Ladro lo storico play by chat su Dungeons and Dragons!
Fairy Tail Universe - Intervista ad Axel, gestore del gioco di ruolo via chat Fairy Tail Universe
Damas Rei - Intervista ai gestori del gioco di ruolo fantasy Damas Rei!
Superheroes Age of War - Intervista al gestore di Superheroes Age of War il gioco di ruolo play by chat ambientato in un mondo di supereroi!
Multiverse eLot - Multiverse eLot: intervista al creatore della prima APP per un Play by Chat (eXtremelot)!