Exploit a causa di BUG nel modulo EMAIL
Autore: Serzio ©
Visite 3334,
Followers 4,
Condiviso 34
I dettagli ... non troppo dettagliati, però .... chi vuol intendere intenda.
Postato il
ho letto....e che si può fare quindi per evitare ciò?
Autore
Come già detto n volte, con n grande a piacere, non mi piace scrivere qui sull'answers ... purtroppo quando dico le cose, sono molto crudo e non uso mezzi termini ... pertanto sarei a rischio di censura in ogni momento.
Ho segnalato il problema, chi di dovere dovrà adoperarsi per trovare una soluzione, se lo riterrà opportuno. Tra qualche giorno pubblicherò l'exploit completo e dettagliato, ma non qui.
Stavo pensando ad un tool per l'hackeraggio dei siti fatti con website.
eh già.. ti capisco benissimo... sto seguendo sull'Unofficial comunque... anche se per me quello che hai scritto è, per qualche verso, arabo .. ho capito in parte... non è il mio campo.
ciao ciao
hahahahah...non ne saresti capace
Autore
Si, è vero, io sono dalla parte dei "buoni" ... e poi bisogna essere bravi .... io sono solo un povero ciuchino.
Non potevo essere più esplicito .... già così ... rischio la scomunica e l'anatema.
allora per far capire la gravità del bug c'è solo un modo....
Autore
Questo ti basta?
questo può avvenire solo se si attiva la modalità "carica un allegato" ....in caso contrario ci sono metodi differenti per accedere al pannello di controllo di un sito...se si vuole!
Autore
Si, questo problema specifico, come descritto, si presenta nel modulo per l'invio di email con la possibilità di caricare allegati.
Non sono attualmente a conoscenza di altri metodi, ma non solo non posso escluderlo, ma posso ben immaginare che ce ne siano altri.
Tieni presente che gli accessi possono avvenire per problemi sul webserver, ed è un caso frequente, oppure per problemi sul contenuto, come in questo caso, e tralasciando i casi di password banali o comunque riconducibili al trafugamento delle credenziali di accesso.
Se sei a conoscenza di qualcosa, ti invito a discuterne a beneficio di tutti ed evitando sottintesi che possono allarmare, ma senza utilità. Inoltre, se sei realmente pratico, perchè non vieni a darci una mano dall'altra parte?
Grazie per la segnalazione. Dalla prossima release (che rilasceremo al più presto) questo problema sarà risolto.
Autore
Sarebbe anche utile che i files degli allegati venissero inseriti in una apposita directory piuttosto che nella root del sito, o magari lasciare che sia il uebmaster a decidere dove metterli ... anche solo per evitare fastidiose migrazioni per i siti già online.
Oppure mettere un filtro dove carica solo archivi compressi ed estensioni riconosciute non dannose.
Autore
Anche, ma sarebbe più efficiente e facile "mascherare" semplicemente l'estensione per rendere l'allegato completamente inerte e senza ulteriori complicazioni.
non penso che un estensione .txt con dentro codice php si può richiamare....o sbaglio? ....qui c'è da provare!
Serzio, dobbiamo provare anche se in un immagine viene inserita una .bat, che non è dannosa per i server....ma per l'amministratore del sito può esserlo...vero?
Autore
Serzio, dobbiamo provare anche se in un immagine viene inserita una .bat, che non è dannosa per i server....ma per l'amministratore del sito può esserlo...vero?
Calma. Non c'e' nulla da provare. Quando viene richiamato un file (che noi chiamiamo pagina) nel browser, il web server sceglie cosa fare in funzione dell'estensione del file e della sua configurazione.
Un txt non verrà eseguito da nessun webserver se esso (il webserver) non viene configurato in modo "strano" e quindi possiamo escluderne la pericolosità.
Se usi l'estensione di un'immagine, essa viene inviata al browser e non eseguita. Stessa cosa per il bat exe com e tutti gli altri a meno che il webserver non venga configurato, come dicevo, in maniera anomala anche se in realtà è possibile fare qualche piccola forzatura, ma solo con particolari conoscenze e con precisi requisiti tecnici (e comunque mai dall'esterno) ... un esempio di "forzatura" è riportato su http://www.unofficialwsx5.com/index.php?topic=464.0 Ma direi che in questo caso c'entra poco o nulla, è solo un esempio di come si può dire all'apache di comportarsi in maniera diversa dal solito.
In sostanza, da browser, non puoi far eseguire direttamente comandi tramite la shell (cmd.exe o bash o quello che vuoi tu), ma devi sempre passare dal webserver, o meglio, dal come il webserver gestisce i vari tipi di files. L'unica eccezione è la cgi che potrebbe essere richiamabile dall'esterno, ma comunque entrerebbe in gioco un sistema diverso di protezione e girerebbe con dei privilegi ben detrminati e "limitati". Sulla maggior parte degli hosting, vengono disattivate del tutto.
Il caso di questo stupido bug, invece, è gravissimo SOLO perchè permette di inserire file eseguibili direttamente dal webserver e quindi in grado di eseguire potenzialmente qualsiasi cosa .... pagine html taroccate, eseguibili php e tante altre cose. "Stupido" perchè banalmente evitabile, "gravissimo" perchè lascia a tutti il controllo completo del sito web e quindi dannosissimo.
Per la discriminazione dei file accettati e non .... immagina un file repository ... esso non potrebbe non accettare tutto quello che gli viene proposto, oltretutto non avrebbe senso fargli fare discriminazioni in base alla tipologia di file, ma piuttosto ad altri parametri come la dimensione (peraltro, di solito, già limitata mediante php.ini). Esistono centinaia di estensioni diverse, perchè stare li a scervellarsi a dire "questa si" e "questa no" .... La cosa più semplice è di dire, una volta per tutte, TUTTO quello che viene scaricato non deve essere eseguibile ... come fare? Semplice. Gli togli del tutto l'estensione. Oppure ci metti un tilde in coda o un underscore o quello che vuoi, ma è sicuramente meglio toglierla del tutto in quanto la rinomina del file è un'altra operazione "delicata" ed in grado di consentire ulteriore code injection (iniezione di codice) ... ed a questo riguardo, per evitare ulteriori sorprese, io avrei usato un approccio diverso .... non avrei mai usato il nome proposto del file allegato per "costruirci sopra" il nuovo nome di file .... è pericoloso .... avrei semplicemente "generato" interamente un nuovo nome, magari casuale o pseudocasuale (per evitare le omonimie e gli scaricamenti di massa) per poi inserire il nome completo e "depurato" nel database come stringa ... evitando comunque l'sql code injection, in fin dei conti un nome di file deve essere fatto da un carattere alfabetico minuscolo o maiuscolo seguito da una combinazione di alfanumerici maiuscoli o minuscoli oppure i trattini - e _ ed il punto. Tutto il resto si può e si deve buttar via, spazio compreso, che sotto linux è un pochino indigesto.
Serzio ti ha risposto Claudio N. ... Mi è sembrato che ti fosse sfuggita la risposta di Claudio N più su: metteranno una "toppa" al più presto
ciao ciao
Insomma, Serzio, consigli a tutti di non implementare nel form di posta la voce "allegati" fino a nuovo avviso da parte di ICM? ok, grazie.
Ma spiegami ancora una cosa (mi riferisco a tutto ciò che ho letto sull'unufficial): se uno cerca di richiamare direttamente un file dentro la public_html digitandone il path nella barra del browser, non dovrebbe scontrarsi con la limitazione d'accesso del file htaccess? A che serve allora il file htaccess? tanto vale cancellarlo, no?
Autore
Si, certo, io stavo solo rispondendo a Carmelo, ma senza infierire su icm che mi ha risposto di prima mattina assicurando una soluzione "rapida".
Scusa Serzio se rispondo in ritardo....(dovevo consegnare i CUD al commercialista)
AAAAZZZ...dal tuo post intuisco che sei un super esperto di webserver, ma credo che non sia solo per hobby.
Ti dò ragione sul fatto che richiamando un file dal browser non viene eseguita....ma per chi mi hai preso? io intendevo se qualche malintenzionato carica un file con estensione di un' immagine o documento qualsiasi con un .bat "attaccato" questo non viene rilevato, magari con estensione celata
tipo questo: http://webgoweb.altervista.org/fattura.zip
l' ingnaro apre è trova una bella sorpesa.....tranqilli ..tranquilli...sto da la parte dei buoni anch'io...non ci sono .bat attaccati.
Caro Serzio illuminaci come difendersi....
si Serzio, nessuno sta infierendo su ICM, ci mancherebbe. ciao
Tu dici di depurare il nome del file ma non l'estensione? è cosi?
Quindi divente pericoloso per l' amministratore....giusto?
Autore
Diciamo che consiglierei molta prudenza fino a nuovo ordine.
Per la verità credo che si possa facilmente "sistemare" la cosa mettendo le mani sull' x5engine.php ... ma è inutile perderci tempo se la soluzione verrà preparata rapidamente da chi di dovere ... sempre ammesso che non ci sia qualcuno che abbia particolare fretta.
Ma spiegami ancora una cosa (mi riferisco a tutto ciò che ho letto sull'unufficial): se uno cerca di richiamare direttamente un file dentro la public_html digitandone il path nella barra del browser, non dovrebbe scontrarsi con la limitazione d'accesso del file htaccess? A che serve allora il file htaccess? tanto vale cancellarlo, no?
La funzione del .htaccess è quella di fornire delle direttive aggiuntive di configurazione a livello di directory al webserver "Apache". A "livello di directory" significa che ogni directory ne può avere uno e per questo motivo a volte si parla anche di "configurazione distribuita". Serve per fare perecchie cose anche se le più comuni sono relative alla gestione delle pagine di errore personalizzate, al rewriting delle url, ai redirect, alla gestione dei permessi .... ma attenzione perchè quest'ultima va capita.
" se uno cerca di richiamare direttamente un file dentro la public_html digitandone il path nella barra del browser", il webserver (apache o iis o altri) per prima cosa va a leggere il file per capire di cosa si tratta, successivamente o lo invia al browser (se si tratta di html, immagini, testo o sconosciuti) oppure lo inoltra al modulo che si occupa della gestione del particolare tipo di file, individuato mediante la sua estensione, mandando l'output verso il browser.
Con l'uso del .htaccess, ma stiamo parlando del solo Apache in quanto IIS non usa questo sistema, il webserver prima di fare tutta la gestione, si va a leggere prima le direttive relative alla posizione del file e poi processa la richiesta come già descritto.
" non dovrebbe scontrarsi con la limitazione d'accesso del file htaccess?" Quale limitazione di accesso? Sei sicuro che ce ne sia una? Sei sicuro che si tratti di una limitazione di accesso? E sei sicuro che la limitazione sia attivabile solo su alcuni file php piuttosto che altri e che soprattutto sia attiva su file di cui non ne conosci il nome pur consentendo l'accesso agli altri? Con il FilesMatch puoi facilmente inibire l'accesso ai files con determinate estensioni o con dei nomi specifici, ma a meno che tu non sia in grado di realizzare una espressione regolare che "separi" i file allegati (e quindi con nomi non prevedibili a meno della struttura con nomefile_aaaammgghhmmssxxxxxx.ext) da quelli del sito ... la vedo dura ... forse fattibile, ma difficile ... sarebbe già meglio se gli allegati venissero inseriti in una cartella separata da tutto il resto. Inoltre dobbiamo anche ricordare che le cose più si fanno difficili e maggiore è la probabilità che ci sia qualcosa di sbagliato.
Allora il mio pensiero è che forse, piuttosto che studiare un .htaccess che possa andar bene, ammesso che ci sia, è sicuramente meglio risolvere il problema a monte, mascherando l'estensione.
Purtroppo questo post è uscito molto lungo e nonostante abbia perso un mare di tempo a rileggerlo venti volte, non ho la possibiltà di verificarne la corretta leggibilità mediante un'anteprima .... è uno dei motivi per cui sostengo l'inutilizzabilità dell'answers per questo genere di dialoghi e invito a farlo dall'altra parte.
Autore
Forse non mi sono espresso in maniera comprensibile. Quando viene allegato un file, esso viene inserito nella root del sito web. Quasi sicuramente il file è dotato di estensione e quindi il suo nome avrà una struttura originaria del tipo nomefile.ext
La gestione attuale degli allegati spezza il nome in due parti "nomefile" ed "ext" e ci aggiunge in mezzo una stringa che contiene "_aaaammgghhmmssxxxxxx" dove le x indicano dei caratteri su cui non ho indagato. Il file definitivo sarà nomefile_aaaammgghhmmssxxxxxx.ext e manterrà la capacità di essere eseguito dal relativo modulo a causa della estensione invariata.
Quello che dico io è che basterebbe (anche se io ci andrei ancora più cauto) che il nome diventasse, ad esempio, nomefile_aaaammgghhmmssxxxxxx.ext~ per aver perso gran parte della sua pericolosità. Per fargliela perdere del tutto, analizzerei il nome per verificare che non contenga caratteri non consentiti, ovvero nell'insieme [a-z][A-Z][0-9]-_\.
AAAAZZZ...dal tuo post intuisco che sei un super esperto di webserver, ma credo che non sia solo per hobby.
Diciamo che sono un appassionato.
Ti dò ragione sul fatto che richiamando un file dal browser non viene eseguita....ma per chi mi hai preso? io intendevo se qualche malintenzionato carica un file con estensione di un' immagine o documento qualsiasi con un .bat "attaccato" questo non viene rilevato, magari con estensione celata
Non ti offendere. Non ti conosco e non posso immaginare quale possa essere il tuo livello di competenza.
tipo questo:http://webgoweb.altervista.org/fattura.zip
Viene proposto il download. Nessuna esecuzione, ma all'arrivo troverebbe un bel randello nodoso in mano al signor kaspersky pronto a tirarglielo sulla zucca. ... sempre che il pc non sia del solito uTont e dotato di McCicken Antivirus.
l'ingnaro apre è trova una bella sorpesa.....tranqilli ..tranquilli...sto da la parte dei buoni anch'io...non ci sono .bat attaccati.
Questo potrebbe rientrare nella categoria dei trojans ... ma quelli giocattolo dei bimbi, però ... ... e credo che anche il computer della chicco sappia come difendersi.
HAHAHAHA.....mi piace il tuo umor...ogni giorno che passa sono sempre più tentato di registrarmi sul tuo forum...
Viene proposto il download. Nessuna esecuzione, ma all'arrivo troverebbe un bel randello nodoso in mano al signor kaspersky pronto a tirarglielo sulla zucca. ... sempre che il pc non sia del solito uTont e dotato di McCicken Antivirus.
Aha ..ora ho capito! ecco perchè si rompe sempre il winzoz chicco ? e il kaspersky toy viene continuamente aggiornato. Devo assolutamente parlare con quei bambini cattivi e dirli di smetterla di giocare e rompere in continuazione. Che ci vuoi fare, i bambini sono bambini!
Quello che dico io è che basterebbe (anche se io ci andrei ancora più cauto) che il nome diventasse, ad esempio, nomefile_aaaammgghhmmssxxxxxx.ext~ per aver perso gran parte della sua pericolosità. Per fargliela perdere del tutto, analizzerei il nome per verificare che non contenga caratteri non consentiti, ovvero nell'insieme [a-z][A-Z][0-9]-_\.
Quello che non riesco a capire è, come possa fare un <"neofita come me"></n> a leggere e a capire un file caricato con un estensione finale ~ tilde....secondo me è questo il nocciolo della questione.
Autore
Non capisco perchè tu dica che devi essere tu "a capire un file con estensione etc etc".
L'utente webmaster non hai nulla da capire, se non il procedimento. L'utente chiede di allegare e l'indiano si preoccupa di modificare il nome del file per renderlo innocuo.
Nel database mysql, praticamente come adesso, ci va a finire il nome del file e la sua posizione. Deve solo comparire un ulteriore nome che sarà quello modificato per consentire l'associazione nuovo-nome -> vecchio-nome-con-estensione per cui chi, successivamente, andrà a richiedere il vecchio-nome-con-estensione si ritroverà a scaricare nuovo-nome, ma senza avere la capacità e la possibilità di eseguirlo. E' più facile a farlo che a raccontarlo.
HAHAHAHA.....mi piace il tuo umor...ogni giorno che passa sono sempre più tentato di registrarmi sul tuo forum...
Beh, vieni pure .... giusto perchè sei tu ... ti faccio un prezzo di favore.
se devo pagare le condizioni sono queste:
firma del contratto
Autore
Questa volta non si tratta di un exploit, ma ho deciso di riutilizzare questo topic perchè la causa ne è strettamente correlata.
Ho controllato la soluzione adottata per risolvere il problema segnalato e l'approccio usato da icm è nella direzione giusta, ma c'e' ancora un problemino piccolo piccolo, le 4 cifre (presumo) pseudo-casuali aggiunte al nome del file unite alle due dei "secondi" consentono di ritrovare il file in un numero medio di 300000 iterazioni. Sono tantissime, ma comunque un numero finito e con un po' di pazienza si può individuare.
Le estensioni dei file rimangono, però, invariate se non si parla di html/htm/asp/js/php e forse qualche altra e quindi una jpg rimane tale esattamente come una gif o una png e altri tipi di file.
Allora ho eseguito un esperimento con i seguenti passi:
0) ho realizzato un file con dati riservati chiamato dati.xlsx (io ho scelto excel)
1) ho compattato il file con winrar ed ottenuto il file dati.rar
1) ho selezionato una immagine qualsiasi ad es. panorama.jpg
2) ho eseguito il comando copy /b panorama.jpg + dati.rar immagine.jpg
Il risultato è un file chiamato immagine.jpg che all'apertura è un'immagine a tutti gli effetti, ma se viene aperta con winrar, come se fosse un archivio, svela il reale contenuto.
Quindi, chiunque può nascondere dati qualsiasi sul nostro sito web.
Soluzione: rinominare TUTTI i file aggiungendo il .txt o meglio se altro per rendere inerti TUTTI i file ed aumentare il numero di cifre casuali in coda al nomefile.
Ma perchè ti preoccupa tanto, il sito comunque con le precauzioni adottate da ICM rimane sicuro, ma come dicevo io, è l' amministratore a subirne le conseguenze...magari con un bel keyloger spy che sfugge a kaspersky toy installato dopo l' apertura di un .rar ...da parte mia non ho problemi, a parte se non sia un backdor con i contro .azzi e senza permessi di root di esecuzione sto apposto.
Ti saluto my teacher...e fammi sapere
Autore
Tu mi "vedi" preoccupato?
il sito comunque con le precauzioni adottate da ICM rimane sicuro, ma come dicevo io, è l' amministratore a subirne le conseguenze...magari con un bel keyloger spy che sfugge a kaspersky toy installato dopo l' apertura di un .rar ...da parte mia non ho problemi, a parte se non sia un backdor con i contro .azzi e senza permessi di root di esecuzione sto apposto.
Ti saluto my teacher...e fammi sapere
A me, sinceramente, seccherebbe che il mio sito web venisse utilizzato per "mantenere" file con contenuti "zozzi" o "da nascondere" a mia insaputa e magari facendoli credere immagini di una galleria. Poi ... ognuno faccia come ritiene più giusto.
HAHAHAHA.....e come puoi esserlo tu ??? anzi, il tuo bel faccino da Budda, mi inquieta...
puoi esserlo solo per le mie sparate e le avances alle belle ragazze...
non volevo dire sul serio...
Faccio qualche esperimento anch'io e magari ti faccio sapere.....bye
Autore
Lungi da me renderti "inquieto" .... non guardarlo come un "buddha", ma semplicemente come una qualsiasi "faccia di bronzo".
Una cosa del genere non può preoccuparmi, io inserisco i log e gli alert via email persino allo sciacquone in bagno.
non volevo dire sul serio...
Faccio qualche esperimento anch'io e magari ti faccio sapere.....bye
Se riesci, fai qualche test sugli accessi all'area riservata ...
My teacher, non ti offendere...ma forse ci tieni più ai log dello sciacquone che al resto... da 10 giorni ti ho mandato un messaggio su youtube senza aver risposta se accetti la mia insignificante amicizia...ma chè
Se riesci, fai qualche test sugli accessi all'area riservata ...
Senza offesa..[ se riesco ]... lo posso pure fare qualche test, ma non è di mio interesse testare i bug di websitex 5....lascio questi problemi a chi è po più professionista di me, perchè viene pure pagato per farlo
Autore
Non dire sciocchezze. Chi mi conosce sa come la penso a riguardo. Probabilmente hai mandato il messaggio a qualcun'altro .... probabilmente all'account del video che non è il mio e di cui non ho i dati di accesso.
Se ti riferisci a me, non immagini nemmeno di quanto tu ti sia sbagliato. Chiedi ad icm quanti milioni di euro mi ha dato ..... non ho nemmeno usufruito dello sconto per i beta tester al momento dell'acquisto di website9. Non accetteri un solo centesimo proprio per non sentirmi vincolato e mantenere la mia indipendenza più totale.
Te l'ho detto che devi preoccuparti solo delle mie sparate
Se non è il tuo account, vorrà dire che mi sono sbagliato, avrò mandato il messaggio a qualcun'altro...ne manderò un'altro per le scuse, magari diventiamo amici, visto che è un Brigante anche lui, ma ho l'impressione che si sia spaventato...ha oscurato il video del Capitano...meno male che l'ho scaricato per archiviarlo, lo userò in un prossimo progetto che sto realizzando, sto architettando un portale per conto degli amici Briganti...lo chiamerò
"CyberBrigante" . Naturalmente forse userò websitex5, ma non ne sono sicuro al 100% ....consigli da darmi?
Se ti riferisci a me, non immagini nemmeno di quanto tu ti sia sbagliato. Chiedi ad icm quanti milioni di euro mi ha dato ..... non ho nemmeno usufruito dello sconto per i beta tester al momento dell'acquisto di website9. Non accetteri un solo centesimo proprio per non sentirmi vincolato e mantenere la mia indipendenza più totale.
ti chiedo scusa, colpa mia, mi sono espresso male, (ti ripeto che non ho avuto la fortuna di studiare, quindi scrivo da cane) io intendevo i professionisti che lavorano per ICM, spetta a loro trovare i bug, vengono pagati per questo.
contrariamente, se fosse un software open suorce, darei tutto l'aiuto possibile, anzi ti dico di più... tutti i lavori fatti e retribuiti con software libero, a fine lavoro ho sempre dato una percentuale dei guadagni al creatore o al gruppo di lavoro...anche chi conosce me, sa benissimo come la penso.
Autore
Beh, certo, tu hai ragione, non crederai che io passi le giornate a cercare bug ... gratis ... e ad un software commerciale .... semplicemente, a volte, sembra che per un determinato lavoro possa essermi utile un certo strumento e nel verificarne la rispondenza alle necessità, a volte, mi imbatto in qualche problema che mi fa desistere ... e fino ad ora non sono ancora riuscito a realizzare nulla con il programma in questione.