gravatar

Patch Bugs Joomla 1.5 Token

Password Reset ini sebenernya adalah fitur Joomla 1.5 untuk memudahkan Admin apabila lupa password.
Mungkin karena lengah dalam men-develop fitur ini, maka bug-pun bersarang dan menjadi jalan bagi seorang Script Kiddie untuk men-deface situsnya

Terlihat bahwa bugnya itu terdapat di komponen “com_user”. Penanganganan password reset ini terletak pada file :

http://situsjoomla.com/components/com_user/models/reset.php


Coba cari potongan kode seperti ini di reset.php :

function confirmReset($token)
{
global $mainframe;

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


Yang bermasalah pada kode diatas adalah pada bagian ini :

$db->setQuery('SELECT id FROM #__users WHERE block = 0 AND activation = '.$db->Quote($token));

Jika user memasukkan Single Quote (karakter ‘ ) pada Token box maka query yang terlihat jadi seperti ini :

SELECT id FROM jos_users WHERE block = 0 AND activation = ''

Lihat setelah tanda sama dengan yang terakhir. Tanda petik yang dimasukkan membuatnya menjadi empty quote (kutipan kosong)
yang akan “diluluskan” begitu saja untuk menjalankan fungsi password reset.



PATCHING

Untuk mencegah user melakukan penetrasi dengan memasukkan Single Quote pada kotak Token maka Achev cukup menambahkan kode penambal.
Kode ini akan membuat apabila ada user yang memasukkan karakter ‘ akan menampilkan pesan Error. Kode-nya seperti ini : if(strlen($token) != 32) {
$this->setError(JText::_('Weh... mau ngapain lo disini, mau ngehack site gw yah...'));
return false;
}

Pesan tersebut bisa diganti dengan yang lainnya.

Kode tersebut diletakkan dibawah potongan kode :
function confirmReset($token)
{
global $mainframe;


Author : Fribo (Indonesian Hacker Team)

Blogroll

Popular Posts

Sponsor