Unofficial WebSite X5

WebSite X5 versioni obsolete => WebSite X5 [v9] - Lista Bug => Topic aperto da: serzio - 17 Febbraio, 2012, 20:05:42

Titolo: XML Injection per guestbook e blog
Inserito da: serzio - 17 Febbraio, 2012, 20:05:42
Da qualche giorno è venuto alla luce un piccolo ma insidioso BUG che consente, mediante l'inserimento di una stringa ben definita all'interno di un commento nel blog o nel guestbook, lo svuotamento del file che contiene i commenti e quindi la perdita dei messaggi lasciati dai visitatori.

Per il momento posso dire solo che è stata trovata la causa, ma per questioni di sicurezza abbiamo deciso di ritardare la divulgazione dei dettagli fino alla pubblicazione della soluzione da parte di icm che è già stata avvertita da Stesil mentre io sto svolgendo il lavoro di segreteria  ;) e qualche test.

Nel frattempo sarebbe meglio sospendere le attività di blog e guestbook fino a risoluzione del problema, il rischio è di perdere i commenti definitivamente in caso di spam ben organizzato, ma anche per atti vandalici.

Naturalmente, anche nel caso in cui venisse utilizzato il sistema antispam di cui ho parlato in altre occasioni, si eviterebbero le attività ad opera di spammers conosciuti, ma non le attività di sabotaggio volontario.

Titolo: Re:XML Injection per guestbook e blog
Inserito da: serzio - 20 Febbraio, 2012, 12:48:28
Sergio io non voglio avere ragione a tutti i costi ... e queste considerazioni io e te le abbiamo già fatte ... qui siamo in diversi a leggere, mi auguro che qualcuno si esprima.

Considera che il nostro ritardo a pubblicare la faccenda lascia i gb e blog vulnerabili, cioè se domani si ripete l'inserimento da parte umana o robot che sia (non ha alcuna importanza, quelle sono stringhe standard che si trovano in rete), si ha perdita di dati.

L'utente è stato avvisato. Il tuo post nella lista bug c'è. Non abbiamo soluzioni da pubblicare. Abbiamo solo la causa che genera il problema.
Perchè mettere a repentaglio di sabotaggio volontario i guestbook o i blog degli utenti?

Che ci vuole a mettere due righe di codice per evitare il problema? Vediamo se icm fa il suo lavoro, prima di perderci tempo. Se oggi avessi bisogno del gb, lo farei io stesso subito. Conoscendo la sequenza, la toppa è un semplice replace della stringa con una vuota. Sarà poco elegante ma funzionale in 10 secondi.

A mio avviso, il discorso ad icm dovrebbe essere posto in termini diversi: o ti dai una mossa, o io avviso il pubblico del pericolo e lascio che ciascuno decida come muoversi per evitare la perdita dei messaggi.
...

Per fortuna non siamo tutti uguali ed il confronto serve anche per crescere imparando a guardare aspetti a cui forse non si è prestata attenzione.

Nessuna difficoltà a chiudere la questione, da parte mia, in attesa di una soluzione che addirittura dovrà essere rilasciata in un prossimo aggiornamento e d'altra parte avevo anche lasciato intendere, nel post pubblico, che avremmo atteso i tempi di icm.

Tuttavia riflettendoci ci sono degli aspetti che vanno valutati:
Titolo: Re:XML Injection per guestbook e blog
Inserito da: stesil - 20 Febbraio, 2012, 14:54:19
Che ci vuole a mettere due righe di codice per evitare il problema? Vediamo se icm fa il suo lavoro, prima di perderci tempo. Se oggi avessi bisogno del gb, lo farei io stesso subito. Conoscendo la sequenza, la toppa è un semplice replace della stringa con una vuota. Sarà poco elegante ma funzionale in 10 secondi.

una cosa del genere? (devo ancora provarla online)

    $str = str_replace("]]>"," ", $str);

Qui l'intero codice:
Codice:
Only registered users can see contents. Please click here to Register or Login.
Titolo: Re:XML Injection per guestbook e blog
Inserito da: serzio - 20 Febbraio, 2012, 15:17:20
Che ci vuole a mettere due righe di codice per evitare il problema? Vediamo se icm fa il suo lavoro, prima di perderci tempo. Se oggi avessi bisogno del gb, lo farei io stesso subito. Conoscendo la sequenza, la toppa è un semplice replace della stringa con una vuota. Sarà poco elegante ma funzionale in 10 secondi.

una cosa del genere? (devo ancora provarla online)

    $str = str_replace("]]>"," ", $str);

...

Si, Silvana. Mi riferivo proprio a qualcosa del genere direttamente nella filtercode in x5engine.php e credo che funzioni ... anzi, ne sono certo.
Titolo: Re:XML Injection per guestbook e blog
Inserito da: serzio - 17 Aprile, 2012, 13:53:15
Possibile che non sia stato ancora risolto?

http://answers.websitex5.com/post/28810 (http://answers.websitex5.com/post/28810)

Il sito è stato esportato con la 9.0.8.1831

 ???
Titolo: Re:XML Injection per guestbook e blog
Inserito da: stesil - 20 Aprile, 2012, 20:18:09
La stringa incriminata è stata corretta con una modifica della funzione writeXML del file x5engine.php ... ma ho trovato un'altra combinazione di caratteri, molto simile alla precedente, che invalida il file xml dei commenti, causandone ancora lo svuotamento.

E chissà, a questo punto, se è l'unica ...

La correzione che era stata proposta qui (http://www.unofficialwsx5.com/index.php?topic=589.msg3647#msg3647) alla funzione filterCode è invece ancora valida, visto che annulla anche questa nuova combinazione di caratteri.