+ Antworten
Ergebnis 1 bis 10 von 10

Thema: QContacts 1.0.6 Vulnerability

  1. #1
    Kommt häufiger vorbei
    Registriert seit
    29.10.2008
    Ort
    Wien
    Beiträge
    253
    Bedankte sich
    65
    Erhielt 24 Danksagungen
    in 23 Beiträgen

    Standard QContacts 1.0.6 Vulnerability

    Hallo,
    habe das gefunden:
    http://www.exploit-db.com/exploits/18218/
    Vulnerability:
    This vulnerability affects /index.php
    *
    /index.php?option=com_qcontacts?=catid=0&filter_ord er=[SQLi]&filter_order_Dir=&option=com_qcontacts
    *
    How to fix this vulnerability:
    *Filter metacharacters from user input.*

    *~Don 2011*
    Vielleicht kann hier einer was dazu schreiben was genau dagegen gemacht werden soll.
    Selber verwende ich auch noch die 1.0.6 da es leider noch keine Aktuellere Version gibt, werden einige hier und auch
    ich eure Hilfe benötigen.
    Was genau bzgl. dem fix gemacht werden soll/muss.

    Thanks
    LG
    bewusst
    Meine Version:Joomla_1.5.26-DE-Stable, Joomla_2.5.4_DE_Stable

  2. #2
    Wohnt hier Avatar von Arni
    Registriert seit
    10.01.2005
    Beiträge
    4.679
    Bedankte sich
    186
    Erhielt 1.157 Danksagungen
    in 1.094 Beiträgen

    Standard

    Sofort deinstallieren, sonst freuen sich die Hacker!!
    Alternativen findest du hier: http://extensions.joomla.org/extensi...ontact-details

  3. #3
    Kommt häufiger vorbei
    Registriert seit
    29.10.2008
    Ort
    Wien
    Beiträge
    253
    Bedankte sich
    65
    Erhielt 24 Danksagungen
    in 23 Beiträgen

    Standard

    Hallo,

    Wow, fast 4.100 Beiträge!
    Thanks für die Antwort!

    Was sagt dir diese Zeile:
    How to fix this vulnerability:
    *Filter metacharacters from user input.*
    Ist das eine Möglichkeit den Angriff abzuwehren?


    Könntest du ein Erweiterung empfehlen, wenn ja welche?
    Ist rein Informativ.

    LG
    bewusst
    Geändert von bewusst (11.12.2011 um 14:33 Uhr)
    Meine Version:Joomla_1.5.26-DE-Stable, Joomla_2.5.4_DE_Stable

  4. #4
    Neu an Board
    Registriert seit
    08.05.2008
    Beiträge
    6
    Bedankte sich
    0
    1 Danksagung in 1 Beitrag

    Standard

    Die Lücke lässt sich relativ einfach beheben, wenn man auf den Category View verzichten kann:
    Quickfix QContacts 1.0.6

  5. #5
    Moderator Avatar von flotte
    Registriert seit
    20.03.2005
    Ort
    Neustadt
    Beiträge
    5.301
    Bedankte sich
    66
    Erhielt 1.258 Danksagungen
    in 1.101 Beiträgen

    Standard

    Meine Meinung dazu:
    Wenn eine seitAnfang Dezember bekannte Lücke, die auch noch aktiv ausgenutzt wird, vom Enwickler selbst heute noch nicht bereinigt wurde, dann verdient es eine solche Komponente auf gar keinen Fall weiter benutzt zu werden. Also: Weg damit! Vor allen Dingen aus den Downloadarchiven. Weitere Verbreitung verhindern.

  6. #6
    Moderator Avatar von Orpheus2510
    Registriert seit
    17.10.2006
    Beiträge
    14.144
    Bedankte sich
    164
    Erhielt 3.392 Danksagungen
    in 3.062 Beiträgen

    Standard

    Aus der JED ist QContacts bereits verschwunden. Gegen einen weiteren Einsatz von QContacts spricht auch, daß diese Komponente offenbar nicht mehr weiterentwickelt wird (letzte Version ist aus 2008!), es davon keine Version für J1.7/2.5 geben wird und sie damit für sicherheitsbewußte Webmaster per se ausfällt. Also wäre ein ernsthaftes Nachdenken über eine Migration der Seite auf J1.7 fällig und damit auch der Austausch bisher verwendeter Erweiterungen gegen andere, die J1.7/2.5-kompatibel sind und aktuell auch gepflegt werden.
    Gruß, Orpheus2510
    Kein Support per PN! | Tutorial Migration J1.5 --> J2.5 | Joomla braucht dich!

  7. #7
    Kommt häufiger vorbei
    Registriert seit
    29.10.2008
    Ort
    Wien
    Beiträge
    253
    Bedankte sich
    65
    Erhielt 24 Danksagungen
    in 23 Beiträgen

    Standard

    Hallo,

    @Flotte
    Absolut richtig! Gut, dass das Formular nicht mehr im Download steht.

    @Orpheus2510
    Leider wurde das Formular nicht mehr weiterentwickelt. Der Entwickler halt leider keine Zeit mehr und
    hat auch nicht auf 2 meiner Emails reagiert.

    Habe die Komponente bereit aus allen Seiten bereits nach dem Bekanntwerden der Lücke deinstalliert.
    Sicher ist sicher...

    LG
    bewusst
    Meine Version:Joomla_1.5.26-DE-Stable, Joomla_2.5.4_DE_Stable

  8. #8
    War schon öfter hier
    Registriert seit
    10.05.2008
    Beiträge
    190
    Bedankte sich
    3
    Erhielt 33 Danksagungen
    in 32 Beiträgen

    Standard

    Zitat Zitat von planlos7 Beitrag anzeigen
    Die Lücke lässt sich relativ einfach beheben, wenn man auf den Category View verzichten kann:
    Quickfix QContacts 1.0.6
    das Abschalten der kompletten View halte ich für unnötig.

    Der Fehler liegt im Model und als schneller Patch kann ziemlich einfach die Sortierung abgeschalten werden, was als Schutz ausreichen sollte.

    Dazu sind Änderungen an diesen Files nötig:
    joomla/components/com_qcontacts/models/category.php
    joomla/components/com_qcontacts/models/contact.php ( optional )

    Da das gleiche Problem auch im Admin-Bereich existiert:
    joomla/administrator/components/com_qcontacts/models/qcontacts.php

    Ich habe das hier mal vorbereitet.

    com_qcontacts_106_MMAFIXSQLi.zip

    Vielleicht mag wer 'kontrollieren' !!??

    Danach ist der Filter nicht mehr nutzbar. Wer es komplett haben möchte, schaltet in den Views das Javascript zum klicken weg.

    Bis zu einer Lösung vom Entwickler oder der Suche nach einer neuen Komponente, sollte man damit genug Zeit haben.

    Gruß
    Micha

    PS.: Änderungen sind mit MMA FIX SQLi ! markiert

  9. #9
    Wohnt hier Avatar von Kubik-Rubik
    Registriert seit
    20.10.2005
    Ort
    Kubik-Rubik.de
    Beiträge
    2.737
    Bedankte sich
    177
    Erhielt 1.059 Danksagungen
    in 793 Beiträgen

    Standard

    Hallo Micha,

    wenn du Lust und Zeit hast, dann forke die Komponente und bring eine bereinigte Version raus.

    Hier wird es sicher keine große Beachtung finden.

    Gruß
    Joomla! Extensions by Kubik-Rubik.de
    Keine Beantwortung von Supportanfragen per PN

    Joomla! braucht Dich!

  10. #10
    War schon öfter hier
    Registriert seit
    10.05.2008
    Beiträge
    190
    Bedankte sich
    3
    Erhielt 33 Danksagungen
    in 32 Beiträgen

    Standard

    das 'komplett' zu übernehmen, fehlt mir leider die Zeit.


    Ich habe aber mittlerweile herausgefunden WIESO das Problem auftaucht.

    Scheinbar wurde für QContact an einigen Stellen sehr viel Source-Code aus der Original-Joomla-Contact Komponente kopiert.

    Der Code ist fast gleich.

    Das bedeutet, das auch das Model von Joomla ( components\com_contact\models\category.php ) per se für SQLi anfällig ist !!

    PHP-Code:
     _getContactsQuery( &$options ) { ..
    $orderBy    = @$options['order by'];
    ..
    $query 'SELECT ' $select .
                                 ...
                   (
    $groupBy ' GROUP BY ' $groupBy '').
                   (
    $orderBy ' ORDER BY ' $orderBy '');

    Der Unterschied liegt darin, dass die View von Joomla die Filter-Vars so ermittelt:

    PHP-Code:
    $filter_order        JRequest::getVar('filter_order',        'cd.ordering',    '''cmd');
    $filter_order_Dir    JRequest::getVar('filter_order_Dir',    'ASC',            '''word');
    ...
    $options['order by']    = "$filter_order $filter_order_Dir, cd.ordering"
    wohin gegen die QContacts Komponente dies so macht:

    PHP-Code:
    $filter_order =$mainframe->getUserStateFromRequest('com_qcontacts.filter_order'.$categoryId'filter_order''cd.'.$pparams->get('default_ordering','ordering'), '''cmd');
    $filter_order_Dir =$mainframe->getUserStateFromRequest('com_qcontacts.filter_order_Dir'.$categoryId'filter_order_Dir''ASC''''word');
    ...
    $options['order by'] = "$filter_order $filter_order_Dir, cd.ordering"
    Da das Model "sich nicht selbst vor Injection schützt", sondern sich auf die View verlässt, kann man dann den Code einschleußen.
    Zu untersuchen wäre noch warum getUserStateFromRequest dies nicht erledigt ( Verwendung der Methode usw. ).

    ( an $mainframe sieht man, dass man an der Komponente so einiges Umstellen müsste )

    Gruß
    Micha


    PS.:

    in Joomla 2.5 ist das Problem NICHT vorhanden. Dort wird im Model geprüft ob der übergebene Wert in einer definierten Liste ( Spaltennamen, Ordertypes,.. ) enthalten ist.
    ( in Docu steht since 1.6 )

    z.B.
    PHP-Code:
    $config['filter_fields'] = array(
                    
    'id''a.id',
                    
    'name''a.name',
                    
    'con_position''a.con_position',
                    
    'suburb''a.suburb',
                    
    'state''a.state',
                    
    'country''a.country',
                    
    'ordering''a.ordering',
                    
    'sortname',
                    
    'sortname1''a.sortname1',
                    
    'sortname2''a.sortname2',
                    
    'sortname3''a.sortname3'
                
    ); 
    Dies hätte ich schon im Code für 1.5 so erwartet....

+ Antworten

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein