Back to top

Autore Topic: SQL Injection in com_content in J!3.5  (Letto 2983 volte)

Offline inzet

  • Nuovo arrivato
  • *
  • Post: 5
    • Mostra profilo
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









« Ultima modifica: 17 Mag 2016, 18:40:56 da tomtomeight »

Offline giusebos

  • Fuori controllo
  • *
  • Post: 21748
  • Sesso: Maschio
  • Giuseppe Serbelloni Mazzanti Viendalmare
    • Mostra profilo
Re:SQL Injection in com_content in J!3.5
« Risposta #1 il: 16 Mag 2016, 20:35:17 »
cortesemente usa i tag code >:(
su www.icagenda.it guide e tutorial con esempi di chronoforms e chronoconnectivity

Offline inzet

  • Nuovo arrivato
  • *
  • Post: 5
    • Mostra profilo
Re:SQL Injection in com_content in J!3.5
« Risposta #2 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

Offline MariaElenaBoschi

  • Appassionato
  • ***
  • Post: 469
    • Mostra profilo
Re:SQL Injection in com_content in J!3.5
« Risposta #3 il: 17 Mag 2016, 09:17:45 »
se joomla è 3.5.1 e se tutte le altre estensioni sono all'ultima versione devi segnalare il problema a joomla.org
https://developer.joomla.org/contact-security-team.html
mancano 2 giorni alla mia prematura dipartita, saluti a tutti, meb.

Offline giusebos

  • Fuori controllo
  • *
  • Post: 21748
  • Sesso: Maschio
  • Giuseppe Serbelloni Mazzanti Viendalmare
    • Mostra profilo
Re:SQL Injection in com_content in J!3.5
« Risposta #4 il: 17 Mag 2016, 09:33:52 »
non ha sistemato, la non si tratta di aspetto estetico: stai impedendo di visualizzare la pagina come si deve per la prima parte del codice, quella dopo

Ho notato nei log stringhe come queste:


Se si vuole usare un forum per chiedere aiuto, sarebbe prima meglio leggersi il regolamento! ;)
su www.icagenda.it guide e tutorial con esempi di chronoforms e chronoconnectivity

Offline inzet

  • Nuovo arrivato
  • *
  • Post: 5
    • Mostra profilo
Re:SQL Injection in com_content in J!3.5
« Risposta #5 il: 18 Mag 2016, 00:15:31 »
Grazie Maria Elena, non conoscevo questo link.
Ho seguito il tuo suggerimento.

Offline MariaElenaBoschi

  • Appassionato
  • ***
  • Post: 469
    • Mostra profilo
Re:SQL Injection in com_content in J!3.5
« Risposta #6 il: 18 Mag 2016, 09:03:46 »
sei sicuro di avere le estensioni aggiuntive aggiornate all'ultima versione e correttamente mantenute? (es... se un estensione non viene più mantenuta anche avere l'ultima versione non serve a nulla)
..incomincia a verificare jdownloads.
Non basta che il tuo joomla ti dica che è tutto aggiornato, devi verificare dai siti degli sviluppatori.

Comunque se abiliti il debug dovresti riuscire a vedere dove accade
« Ultima modifica: 18 Mag 2016, 10:35:38 da MariaElenaBoschi »
mancano 2 giorni alla mia prematura dipartita, saluti a tutti, meb.

Offline MariaElenaBoschi

  • Appassionato
  • ***
  • Post: 469
    • Mostra profilo
Re:SQL Injection in com_content in J!3.5
« Risposta #7 il: 18 Mag 2016, 20:06:01 »
io credo che la tua vulnerabilità sia questa https://www.gavick.com/updates?task=update&id=2549&catid=4#
mancano 2 giorni alla mia prematura dipartita, saluti a tutti, meb.

Offline MariaElenaBoschi

  • Appassionato
  • ***
  • Post: 469
    • Mostra profilo
[RISOLTO] SQL Injection in com_content in J!3.5
« Risposta #8 il: 20 Mag 2016, 09:22:05 »
la soluzione è aggiornare le estensioni visto che il template non lo era.

Visto che hanno tutti fretta quando si tratta di ricevere e ne hanno molta meno quando si tratta di dare... il risolto lo metto io ;)
mancano 2 giorni alla mia prematura dipartita, saluti a tutti, meb.

Offline giusebos

  • Fuori controllo
  • *
  • Post: 21748
  • Sesso: Maschio
  • Giuseppe Serbelloni Mazzanti Viendalmare
    • Mostra profilo
Re:SQL Injection in com_content in J!3.5
« Risposta #9 il: 20 Mag 2016, 11:12:08 »
è per questo che penso che prima si mette a posto la discussione e poi si risponde, l'utente sarà più incentivato a tenere un comportamento corretto secondo gli standard della maggioranza dei forum, non secondo un gruppo di "sociopatici" adepti di joomla ;D ;D ;D ;D ;D

Sopratutto con i nuovi andrebbe risposto subito con una nuova domanda: "se poi ti rispondo, inserirai il risolto alla fine esattamente come va messo?" E ancora, "Se ti rispondo inserirai il codice nel modo appropriato?"

ma credo che susciteremo solamente altra polemica
su www.icagenda.it guide e tutorial con esempi di chronoforms e chronoconnectivity

 



Web Design Bolzano Kreatif