Protezione del sito da SQL injection e local file inclusion
Questa estensione è pubblicata su http://extensions.joomla.org , se vi piace, votatela o scrivete una recensione.

Protezione contro SQL Injection e Local file Inclusion
Questo plugin aggiunge un semplice ma, nella maggior parte dei casi, fondamentale protezione contro gli attacchi di tipo SQL injection e LFI (inclusione di file locale), analizzando i dati inviati a Joomla ed intercettanto gli exploit più comuni, salvando così il sito dagli hackers.
- Filtra le richieste in POST, GET, REQUEST. e blocca SQL injection / tentativi di LFI
- Notifica via e-mail quando viene generato un allarme
- Protegge anche da vulnerabilità sconosciute di estensioni di terze parti.
- White list per i componenti sicuri (a vostro rischio;))
Abilitate la notifica via mail e preparatevi ad avere paura!
In ogni caso ricordate che la sicurezza è una 'forma mentis', non un plugin!
Standard Set up
- Works on Front End only: (Attivo solo sul Front End)
Ignora le richieste (auto disabilitazione) inviate a /administrator - NameSpaces inspected (Spazi dei nomi ispezionati)
Le opzioni sono:- Get
- Get, Post
- Request
- Get, Post, Request
- Ignored Extension (estensioni ignorate)
Lista dei componenti, separati da virgole, da ignorare (es: com_content, com_dumper , com_weblinks)
Selezionare quali superglobal arrays ispezionare.
Importante, prestate attenzione!
PHP analizza le richieste e popola i superglobal arrays copiando i singoli valori in ciascun array. Così $_GET['varName'] e $_REQUEST['varName'] non sono riferimenti allo stesso oggetto!
Cambiare $_GET per sanificare la query string non è sufficiente se il programma legge $_REQUEST.
Notification
- Send Email Alert on injection/inclusion (Invia una mail su iniezione/inclusione)
se 'Yes' invia una mail di avviso in caso di attacco/malformed url - Mail to notify attack (mail cui notificare l'attacco)
indirizzo mail cui inviare l'avviso, se vuoto è impostato a 'mailfrom'
Advanced Set up
- Raise Error on Fault (Genera un errore sull'attacco)
Se 'Yes' ferma Joomla! e restituisce un errore (utile per il debug), se 'No' ripulisce la richiesta e la passa a Joomla! - Http Error Code
HTTP error code da restituire (40x, 50x) - Http Error Message (Messaggio di errore Http)
messaggio per la pagina di errore
Local File Inclusion parameters
- LFI check only on canonical (controllo LFI solo sul canonico)
se 'Yes' verifica gli attacchi LFI solo per i parametri model, view, controller, template - Max number of consecutive '../' (numero massimo di '../' consecutivi)
quanti '../' consecutivi possono trovarsi nell'url
Questo plugin è in uso in parecchi siti, ma non è stato ancora testato con tutte le più comuni estensioni. Controllate che le più importanti funzioni del vostro sito stiano operando correttamente.
Verificato (almeno) con:
.ckForms
.virtuemart
.joomfish
.PhocaDownload
.PhocaGallery
.RokDownloads
.AcyMailing
.ccnews
.AlphaRegistration
.Chrono Contact
.SOBI2
e altre.
HISTORY
(vedi parte inglese per la storia aggiornata)
Version 1.0 (Jan 5st, 2011)
- Joomla! v1.6 compatibility
- Invia la mail anche se effettua il raise dell'errore
- minori ottimizzazioni al codice
- non ci sono bug fix, quindi non è necessario aggiornare
Versione .98a (1 giugno 2010) Thanks to Jeff
- fixed backtics matching
- fixed union all matching
- fixed ....// exploit
- added more info to report mail
Download Marco's SQL Injection - LFI Interceptor Plugin for Joomla!
Tenete presente questo, lo ripeto: questo plugin intercetta tutti i più comuni exploits, NON TUTTI!! Deve essere pertanto inteso come un aiuto, questa non è "LA SOLUZIONE".
Joomla! 3.0
Joomla! 2.5
(Funziona anche su Joomla! 1.6 e 1.7 ma NON funziona su Joomla! 3.0)
Joomla! 1.5
Previous versions

Commenti
==== Risposta
ciao paolo,
sì la trovi sulla pagina inglese, mi sono dimenticato che vi era anche una pagina in italiano :(
www.mmleoni.net/.../
ciao,
marco
Grazie per il tuo plugin, veramente interessante e utile...
Dopo averlo installato (la v. 1.1), ultimamente (si parla di numerose volte al giorno, a distanza di pochi minuti) sto ricevendo mail di tentati attacchi del tipo "** -- [REQUEST:catid] => -1 -- 0x3363327336696 2,2,3 from --mml25_users-- " ecc, ecc... tutti da IP simili... Ho joomla 1.5.25 aggiornatissimo , non credo di avere estensioni vulnerabili ed ho preso tutte le misure precauzionali possibili... Che devo fare? Posso stare tranquillo e aspetto che l'hacker si stanchi? Oppure devo iniziare a preoccuparmi?
Grazie per la tua risposta
===== Risposta
ciao fabio,
rilassati ma non sperare che l'hacker si stanchi: non è una singola persona, ma una folla armata di scripts automatici.
l'attacco indicato, per esempio, sfruttava una vulnerabilità di Joomla pre 1.5.17
ps:
rilassati non vuol dire che il sistema è invulnerabile, ma solo che hai fatto tutto ciò che potevi fare.
ciao,
marco
complimenti per il tuo plugin. Effettivamente da quando l'ho installato ricevo continuamente attacchi che penso siano automatizzati. A quanto ho scoperto è una cosa molto comune!!!
Ciao
torno ad approfittare della tua gentilezza ;-). Oggi ho ricevuto diversi attacchi del tipo LFI alla stessa ora e sullo stesso componente ma da IP diversi: è possibile che l'aggressore abbia utilizzato qualche tecnica di IP spoofing? E quindi l'ip indicato in *REMOTE_ADDR può essere falsificato?
Grazie mille!
===Risposta
più utenti da più ip: la risposta più semplice è quella giusta.
ciao,
marco
ho installato il tuo plugin sul mio sito e ho cominciato a ricevere attacchi di questo tipo sempre dallo stesso IP. Posso stare tranquillo? E' possibile inserire l'IP incriminato in una sorta di black list per impedirgli l'accesso al sito? Grazie
[omissis]
*QUERY_STRING :
option=com_properties&controller=proc/self/environ%00
[omissis]
====Risposta
ciao Alfio,
sono attacchi automatizzati, puoi stare abbastanza tranquillo.
comunque se hai com_properties aggiornalo, anche se sui server correttamente configurati, che pare stiano diventando una rarità, gli attacchi di tipo LFI non funzionano.
ps: le black list funzionano solo nei films...
Da quando ho installato il plugin ricevo una diecina di avvisi al giorno tipo questo. Immagino siano tentativi si SQL injection.
** Local File Inclusion [GET:view] => proc/self/envir on
** Local File Inclusion [REQUEST:view] => proc/self/envir on
[ ...omissis... ]
In pratica cosa significa il report ? Penso un tentativo di usare come cavallo di troia il componente eventlist. Che è installato.
======== risposta:
Non si tratta di SQL injection ma di Local File Inclusion.
Questo tipo di attacco sfrutta del codice php scritto malamente assieme ad una altrettanto frettolosa configurazione del server per richiamare l'interprete dei comandi (/proc/self/envir on) e mandare in esecuzione il codice passato. se il server è configurato correttamente l'attacco non ha effetto.
Verifica l'entry point di com_event list, è facile che ci troverai un errore di programmazione nel recupero della view (o l'errore era in una versione precedente).
RSS feed dei commenti di questo post.