Pokaż wyniki 1 do 6 z 6

Temat: Dziury w CMS Joomla

  1. #1

    Domyślnie Dziury w CMS Joomla

    Witam serdecznie.

    Jak zapewne wszyscy wiemy, Joomla posiada szereg błędów oraz dziur zwłaszcza w wersjach wczesniejszych 1.5.1 do 1.5.3. Generalnie jedna z najbardziej krytycznych błędów znajduje się w pliku .../reset.php. Sytuacja jest banalnie prosta, wystarczy niespełna jedna minuta by zmienić hasło admin. Rozwiązaniem tego problemu jest poprawka i załatanie dziury :

    if(strlen($token) != 32) {
    $this->setError(JText::_('INVALID_TOKEN'));
    return false;
    }

    Problem ten rozwiązuje poprawienie pliku reset.php lub aktualizacja joomla do wersji 1.5.6. (1.5.6 poprawia szereg błędów)

    Pytanie moje jest następujące: Czy ktoś zna jeszcze jakieś błędy lub dziury w PHP joomla, które w banalny sposób umożliwiają dostęp, czy zmianę haseł w bazie? lub dostęp w zupełnie inny sposób? nawet po aktualizcji do najnowszej wersji? Jeśli tak to proszę o kierunek postępowania, by móc lepiej się zabezpieczyć.

    Z góry dziękuję i pozdrawiam.

  2. #2
    Zarejestrowany
    Jul 2007
    Skąd
    C:\Perl\bin
    Postów
    1,578

    Domyślnie

    to jest ten blad
    Kod:
    $db->setQuery('SELECT id FROM #__users WHERE block = 0 AND activation = '.$db->Quote($token));
    War, war never changes.

  3. #3
    Zarejestrowany
    May 2008
    Skąd
    Kielce
    Postów
    121

    Domyślnie

    Dokładnie może lepiej całą funkcje pokazać

    Kod:
    	function confirmReset($token)
    	{
    		global $mainframe;
    
    		$db	= &JFactory::getDBO();
    		$db->setQuery('SELECT id FROM #__users WHERE block = 0 AND activation = '.$db->Quote($token));  < ---- {3} 
    
    		// Verify the token
    		if (!($id = $db->loadResult()))
    		{
    			$this->setError(JText::_('INVALID_TOKEN'));
    			return false;
    		}
    
    		// Push the token and user id into the session
    		$mainframe->setUserState($this->_namespace.'token',	$token);
    		$mainframe->setUserState($this->_namespace.'id',	$id);
    
    		return true;
    	}

  4. #4

    Domyślnie

    Właśnie o to chodzi, ale jeśli nasza funkcja będzie wyglądała tak :

    Kod:
    function confirmReset($token)
    	{
    		global $mainframe;
    
    		if(strlen($token) != 32) {
    			$this->setError(JText::_('INVALID_TOKEN'));	
    			return false;
    		}
    		
    		$db	= &JFactory::getDBO();
    		$db->setQuery('SELECT id FROM #__users WHERE block = 0 AND activation = '.$db->Quote($token));
    
    		// Verify the token
    		if (!($id = $db->loadResult()))
    		{
    			$this->setError(JText::_('INVALID_TOKEN'));
    			return false;
    		}
    
    		// Push the token and user id into the session
    		$mainframe->setUserState($this->_namespace.'token',	$token);
    		$mainframe->setUserState($this->_namespace.'id',	$id);
    
    		return true;
    	}
    To nasuwa się kolejne pytanie: Czy to wystarczy by zabezpieczyć przed tego typu działaniami i czy jest jeszcze jakaś "luka"

  5. #5
    Zarejestrowany
    May 2008
    Skąd
    Kielce
    Postów
    121

    Domyślnie

    Zawsze jest jakaś luka nigdy nie masz pewności że skrypt jest w 100% bezpieczny
    EDIT:
    Powiedzmy że miałem na myśli joomle...
    Ostatnio edytowane przez Hardiel : 08-26-2008 - 15:44

  6. #6
    Zarejestrowany
    Jul 2007
    Skąd
    C:\Perl\bin
    Postów
    1,578

    Domyślnie

    Kod php:
    <?php
    print 'jestem 100% bezpiecznym skryptem xD';
    ?>
    War, war never changes.

Podobne wątki

  1. przerabianie templatesow w cms.
    By mtbs in forum HTML/DHTML/XHTML
    Odpowiedzi: 2
    Autor: 11-10-2008, 13:41
  2. dziury w przegladarkach
    By gogulas in forum Newbie - dla początkujących!
    Odpowiedzi: 13
    Autor: 05-27-2008, 15:57
  3. Joomla
    By hakeritoo in forum Hacking
    Odpowiedzi: 3
    Autor: 08-04-2007, 15:14
  4. Joomla Upload RFİ
    By YanlizTurk in forum Hacking
    Odpowiedzi: 4
    Autor: 07-30-2007, 00:50
  5. dostep do plikow na serwerze przez komponent joomla
    By ollie in forum Newbie - dla początkujących!
    Odpowiedzi: 5
    Autor: 01-16-2007, 17:09

Zasady Postowania

  • Nie możesz zakładać nowych tematów
  • Nie możesz pisać wiadomości
  • Nie możesz dodawać załączników
  • Nie możesz edytować swoich postów
  •  
Subskrybuj