Spam sospetto sul guestbook
Autore: Serzio ©Da un paio di giorni, il budda, la pantera rosa e gdr stanno verificando uno strano spam sui loro guestbook. In pratica si tratta di messaggi che vengono inseriti e sarebbero in grado di danneggiare il file xml che contiene i commenti.
In realtà non ne siamo completamente certi e stiamo monitorando la situazione anche se si tratta presumibilmente di code injection ma, e mi secca ammettere di aver fatto la figura del pollo facendomi danneggiare il file sotto il naso un attimo prima di poterlo scaricare per studiarlo, dobbiamo averne le prove anche se non escludiamo nemmeno un problema del guestbook stesso.
Inserisco questo post con l'intento di verificare se ci sono casi analoghi qui sull'answers per poter verificare l'accaduto ed i dettagli al fine di cercare di venirne a capo.
Nel caso nostro lo spam è provenuto da 178.137.160.135 e riportava un link da colonas.net ... tutto dovrebbe essersi verificato da 3 o 4 giorni ad oggi anche se l'inizio dell'attività da questo indirizzo risale ad una ventina di giorni fa. Naturalmente tale spam viene completamente evitato con l'uso del sistema che avevo più volte consigliato di utilizzare e che riporta ad oggi ben 3607 segnalazioni (la visualizzazione è limitata a 1000, ma il totale è molto superiore), come si può notare anche da:
@icm
se ritieni che questo topic sia fuori luogo, cancella pure, anche se io consiglierei di approfondire la questione e, volendo, potreste anche collaborare fornendo notizie utili a capire se stiamo sbagliando noi o se si tratta realmente di un problema. In ogni caso, sul nostro forum, il lavoro prosegue con o senza icm.
Buongiorno Serzio,
Prima di tutto vi lascio un pò di info che possono esservi utili, anche se probabilmente sono cose che avete già evinto dal codice PHP di WSX5.
Tutti i commenti (sia del guestbook che del blog) vengono salvati attraverso il metodo writeXML della classe imComment che si trova nel file x5engine.php. Il file è in chiaro e commentato quindi potete "spulciarlo" con comodo se necessario.
Il contenuto del commento viene salvato in formato XML e tutti i campi sono protetti dalla direttiva CDATA, in modo che l'inserimento di codice HTML sia permesso. Per evitare iniezioni di codice tutti i campi vengono filtrati con la funzione filterCode() nel metodo addComment della classe stessa.
Il codice elimina il file xml dei commenti solo in caso di fallimento del tentativo di lettura dello stesso.
Se possibile, quando viene inserito lo spam salva il file dei commenti e inviamelo qui, così posso dargli un'occhiata e comprendere meglio il problema. Credo che venga inserito qualche carattere che invalida il codice XML.
Grazie!
Autore
Come hai giustamente immaginato, stiamo studiando il codice e quindi non ci sono grossi misteri, si tratta solo di perderci un pochino di tempo ... soprattutto per togliere la ruggine dai ricordi di php.
Se possibile, quando viene inserito lo spam salva il file dei commenti e inviamelo qui, così posso dargli un'occhiata e comprendere meglio il problema.
Naturalmente, quello che possiamo far noi in un ora può essere fatto da voi in pochi minuti, conoscendo il codice che avete usato.
Intanto stiamo lasciando qualche "esca" in giro per la rete per vedere se lo spammer continua la sua opera.
Credo che venga inserito qualche carattere che invalida il codice XML.
Grazie!
In quali circostanze viene creato il file .bak? Durante lo svuotamento, che è avvenuto sotto i miei occhi, viene creato anche un backup vuoto del file dei messaggi.
La mia idea, non verificata però, è che si possa trattare di codice nascosto o invalidante che causa il danneggiamento durante l'ingresso nella pagina admin per la moderazione generando la ricostruzione del file xml. Solo che se così fosse, il backup se eseguito come copia del file piuttosto che riscrittura della struttura xml, non dovrebbe riportare il file svuotato ma la copia con il testo integrale.
Il backup viene creato quando il file viene modificato approvando, disapprovando o eliminando un commento dalla sezione admin.
Si, come dicevo, credo anche io che tutto sia dovuto all'inserimento di qualche carattere invalidante (probabilmente un codice esadecimale non presente in UTF-8). Segno ed effettuo delle prove, in ogni caso.
Autore
Bene. Per chi avesse cercato di trovare il relativo topic nel nostro forum ... per ora ne stiamo discutendo nell'area riservata a noi più pratici per evitare di sporcare le informazioni che ci stiamo scambiando con commenti inutili. Ma naturalmente i risultati verranno condivisi, come al solito.
Autore
E' stata individuata la causa del problema, ma per ragioni di sicurezza non è possibile pubblicare i risultati che potrebbero essere utilizzati per effettuare sabotaggi volontari. Sono certo della comprensione di tutti.
I risultati verranno pubblicati tra qualche giorno, dopo che icm, già avvisata, abbia messo la toppa direttamente su http://www.unofficialwsx5.com/index.php?topic=589.0 per il momento mi sento di consigliare backup giornalieri o addirittura la sospensione dei vari guestbook e blog (entrambi sono affetti dallo stesso problema).
Nel frattempo mettete il link tra i "preferiti" ...
Per fortuna che al dominio avevo previsto ed acquistato come accessoria opzione la funzione backup giornaliero e settimanale quindi per il momento sono riuscito velocemente a recuperare i commenti sovrascrivendo il file vuoto.
Autore
Come già ti ho dimostrato dall'altra parte , a parte gli atti vandalici eseguiti da indirizzi NON seganalti come spam, avresti evitato il problema all'origine. Senza alcuna utilità pratica, giusto per curiosità, insieme al codice che ho proposto, ho inserito anche un alert verso un mio indirizzo email verso cui viene inviata una email ad ogni tentativo sventato di spam.
Autore
Soluzione "toppa".
http://www.unofficialwsx5.com/index.php?topic=589.0
Buongiorno a Tutti,
Scusate l'ignoranza, ma come faccio a vedere la classe imComment che si trova nel file x5engine.php ?
Anche a me sono spariti tutti i commenti...
Ho il back-up settimanale, ma vorrei sapere 2 cose:
(1) la cartella dove risiede x5engine.php è "res" o "admin\res" ?
(2) come faccio a vedere x5engine.php con Dreameaver o altro programma ?
Grazie Molte,
Daniele
Autore
Non capisco la domanda. Apri il file x5engine.php con un editor qualsiasi e ne cerchi la dichiarazione.
Anche a me sono spariti tutti i commenti...
Ho il back-up settimanale, ma vorrei sapere 2 cose:
(1) la cartella dove risiede x5engine.php è "res" o "admin\res" ?
/res
(2) come faccio a vedere x5engine.php con Dreameaver o altro programma ?
Grazie Molte,
Daniele
Lo apri con un editor ... se vuoi anche con il dw
Serzio, io avevo avvisato il team di sviluppo di website x5 di controllare i bug del guestbook e del capta ridicolo.
credo che se gli Ucraini, sono perfettamente in grado di cra***re website x5, sarranno in grado di creare un spamrot con spider che scaddagli tutti i siti creati da website x5, filtrando i sistemi di sicurezza antiquati.
Cavolo....credevo che su questo forum si parlasse di frivole richieste di problemi o difettucci del software....ma qui in questo topic la cosa diventa molto interessante.
Leggendo i commenti di Serzio suscita e stimola la mia curiosità....grazie Serzio