Back to top

Visualizza post

Questa sezione ti permette di visualizzare tutti i post inviati da questo utente. N.B: puoi vedere solo i post relativi alle aree dove hai l'accesso.


Post - inzet

Pagine: [1]
1
Sicurezza / Re:SQL Injection in com_content in J!3.5
« il: 18 Mag 2016, 00:15:31 »
Grazie Maria Elena, non conoscevo questo link.
Ho seguito il tuo suggerimento.

2
Sicurezza / Re:SQL Injection in com_content in J!3.5
« il: 17 Mag 2016, 02:09:18 »
Ciao, ho modificato il testo seguendo le tue indicazioni ma spero che, al di là dell'aspetto estetico, qualcuno mi risponda nella sostanza.

Grazie.

Gianluca

3
Sicurezza / SQL Injection in com_content in J!3.5
« il: 16 Mag 2016, 20:23:25 »
Ciao,

ho un sito con Joomla 3.5 con alcuni addon quali jdownloads, community builder, ed altri.

Ho notato nei log stringhe come queste:
Codice: [Seleziona]
[tt]<ip>  - - [30/Apr/2016:06:03:37 +0200] "GET /component/content/article.html?id=1655+or+1=(%2f**%2fsElEcT+1+%2f**%2ffRoM(%2f**%2fsElEcT+count(*),%2f**%2fcOnCaT((%2f**%2fsElEcT(%2f**%2fsElEcT(%2f**%2fsElEcT+%2f**%2fcOnCaT(0x217e21,count(*),0x217e21)+%2f**%2ffRoM+parkinson34.jml_jdownloads_files_backup))+%2f**%2ffRoM+information_schema.%2f**%2ftAbLeS+%2f**%2flImIt+0,1),floor(rand(0)*2))x+%2f**%2ffRoM+information_schema.%2f**%2ftAbLeS+%2f**%2fgRoUp%2f**%2fbY+x)a)+and+1=1 HTTP/1.1" 500 2278 "[url=http://www.parkinson.it/component/content/article.html?id=1655+or+1=(%2f]http://www.sito.it/component/content/article.html?id=1655+or+1=(%2f[/url]**%2fsElEcT+1+%2f**%2ffRoM(%2f**%2fsElEcT+count(*),%2f**%2fcOnCaT((%2f**%2fsElEcT(%2f**%2fsElEcT(%2f**%2fsElEcT+%2f**%2fcOnCaT(0x217e21,count(*),0x217e21)+%2f**%2ffRoM+parkinson34.jml_jdownloads_files_backup))+%2f**%2ffRoM+information_schema.%2f**%2ftAbLeS+%2f**%2flImIt+0,1),floor(rand(0)*2))x+%2f**%2ffRoM+information_schema.%2f**%2ftAbLeS+%2f**%2fgRoUp%2f**%2fbY+x)a)+and+1=1" "Mozilla/5.0 (Windows; U; Windows NT 5.1; pt-PT; rv:1.9.1.2) Gecko/20090729 Firefox/3.5.2 (.NET CLR 3.5.30729)"
[/tt]
Mi sono sono rizzate le antenne, perché poi funziona anche!
Codice: [Seleziona]
[tt][size=1em]1062Duplicate entry '!~!185!~!1' for key 'group_key' SQL=SELECT catid FROM #__content AS c WHERE [url=http://c.id]c.id[/url] = 1655 or 1=(/**/sElEcT 1 /**/fRoM(/**/sElEcT count(*),/**/cOnCaT((/**/[/size][size=1em]sElEcT(/**/sElEcT(/**/sElEcT /**/cOnCaT(0x217e21,count(*),[/size][size=1em]0x217e21) /**/fRoM parkinson34.#__jdownloads_[/size][size=1em]files_backup)) /**/fRoM information_schema./**/tAbLeS /**/lImIt 0,1),floor(rand(0)*2))x /**/fRoM information_schema./**/tAbLeS /**/gRoUp/**/bY x)a) and 1=1 LIMIT 1 [/size][/tt]
Parrebbe un problema di controllo dell'input da qualche parte, che non ho ancora individuato con precisione.
Per esempio in components/com_content/router.php intorno alla riga 530


 
Codice: [Seleziona]
                                        $db = JFactory::getDbo();
                                        $query = $db->getQuery(true)
                                                ->select($db->quoteName('id'))
                                                ->from('#__content')
                                                ->where($db->quoteName('catid') . ' = ' . (int) $vars['catid'])
                                                ->where($db->quoteName('alias') . ' = ' . $db->quote($segment));
                                        $db->setQuery($query);
                                        $cid = $db->loadResult();


non conosco bene Joomla e spero che il metodo $db->quote() esegua anche l'escape della stringa alla stessa stregua di mysqi_real_escape_string(), altrimenti ci sono problemi.
Per gli altri tipi di input via id viene semplicemente effettuato un cast ad integer ((int) $vars['catid']), magari da qualche parte se ne sono dimenticati.
Resta il fatto che il buco di sicurezza va chiuso.


Bye,

Gianluca










4
Sviluppo / Submit modifiche al core
« il: 20 Dic 2007, 15:19:33 »
Ciao ragazzi,

ho fatto alcune modifiche al core di Joomla che ritengo possano essere interessanti per la comunità.

* com_content : le notizie possono visualizzare la data di pubblicazione (selezionabile)
* com_latestnews : aggiunta la data di pubblicazione, ordinamento per diverse date (inserimento, modifica, pubblicazione), limite per sezione
* includes/joomla.php, includes/database*, com_content : il checked_out viene visualizzato solo nella durata di un'ora, utile per non "dimenticare" lockati gli oggetti
* admininistrator/componenets/com_content : aggiunto menù di filtro per selezionare solo le notizie non pubblicate

La domanda è: come faccio a sottoporle ad un CVS / revisore di codice per una valutazione ?

Gianluca

P.s.: prima che qualcuno lo chieda, alcune modifiche sono così profonde da non consentire l'utilizzo di plugin.

5
Sviluppo / Gestione Notizie personalizzato
« il: 18 Set 2007, 18:56:31 »
Ciao, sono nuovo del forum e non sono un esperto di Joomla, scusate se la terminologia non è corretta.

Devo realizzare un sito dove la parte delle notizie è molto importante e provando molti componenti News non ne ho trovato nessuno che si adatti alle mie esigenze. Dovrò scrivere il mio add-on.

Premetto che non sono un novellino di PHP né di MySQL: programmo da diversi anni. Ho letto il manuale dello sviluppatore ma ho bisogno che qualcuno mi dia delle indicazioni di massima.

Ho già dei miei script PHP che fanno il lavoro ed attualmente sono integrati tramite wrapper. Nonostante la cosa funzioni, ho diversi svantaggi:
* le ricerche sul sito implementate da Joomla e le mie ricerche sulle notizie non sono integrate, ciò mi costringe ad due livelli di ricerca (sito,notizie) poco intuitive per l'utente;
* le notizie archiviate non sono disponibili da Joomla, così da dover utilizzare una mia pagina in wrapper per i raggruppamenti mesi/anni;
* gli inseritori delle notizie devono usare il mio backend, con l'apertura di una pagina apposita;
* la grafica non è integrata, ed ogni volta che apporto modifiche al layout del template in Joomla devo controllare se nel wrapper delle notizie sia tutto a posto.

Ho pensato all'inizio di sviluppare dei moduli che mi consentissero di visualizzare le notizie nelle diverse modalità che ho previsto (notizie di prima pagina, notizie importanti...) ma non so se ne valga la pena. La mia impressione è di fare molto lavoro guadagnando poco in funzionalità rispetto all'attuale gestione con wrapper.

Ho letto poi la sezione componenti sul manuale e questo potrebbe essere già una risposta: la creazione di un frontend e un backend permetterebbe la dismissione degli attuali script, ma se volessi cambiare la visualizzazione a seconda delle situazioni come mi dovrei comportare? Con dei moduli che attingono i dati dalle mie tabelle?
E cosa ne sarebbe della ricerca all'interno delle notizie? Ovvero: un componente con un proprio database (o insieme di tabelle proprietarie) ha la possibilità di rientrare nelle ricerche generali sui contenuti in Joomla?

Infine ho la sensazione che si possa fare di meglio. Mi spiego: molti dei campi che utilizzo sono già presenti in Joomla (ad esempio: io uso un abstract della notizia, che è in effetti previsto). Altre informazioni sono aggiuntive ad esempio: l'importanza della notizia (ma si potrebbe utilizzare una sezione apposita), la fonte, il sottotitolo. Sarebbe teoricamente possibile modificare la classe di un componente news esistente (anche quello di default) per creare una super-classe, ma come? E come verrebbe gestita? Ovvero se modificassi una classe esistente per aggiungere le funzionalità che ho bisogno è una strada percorribile o è meglio evitare?

Grazie in anticipo per le risposte.

Gianluca

Pagine: [1]


Web Design Bolzano Kreatif