Wednesday 20 March 2013

Token Untuk Bug Joomla

Banyak sekali para Defacer pemula mendeface web mengunakan TOKEN Tapi apakah mereka tahu bagaimana memperbaikinya, setelah saya banyak mempertanyakan dengan para defacer yang masih pemula dan juga pengalaman mereka bilang kurang tau ada juga yang biang tidak penting. :jangan:
Tetapi itu lah kesalahan para defacer,Bisa merusak tapi tidak bisa memperbaiki. :-q
Nah Dari pada Saya ngomel Ga jelas pada defacer-defacer,Q jga masih newbie kok.Mending q share az cara mempatch Bugs Joomla 1.5 Token.



Kalian yang belum tau apa itu token atau yang uda tau token saya ulang lagi yaw.
Saya ambil az pada artikel Bobyhikaru
okeh langkah pertama
masuk k http://www.google.com
2.klik/search inurl:option=com_user daerah tujuancontoh: inurl:option=com_user turki

3. misalkan dapet korban
http://situsjoomla.com/index.php?option … k=register
lihat warna yang merah akan di ganti dengan
option=com_user&view=reset&layout=confirm
jadi penulisannya…
http://situsjoomla.com/index.php?option … ut=confirm
nah di situ akan keluar token
Token Tersebut disi dengan ‘
Nah Begitu Lah cara defacer memanfaatkan token,tapi sekarang saya akan menshare cara mempatchnya agar para defacer tidak memanfaatkan bugs tsb.
—————————————————————————————————————————
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
Sebagai informasi, klik link berikut untuk melihat isi dari reset.php yang belum di-patch.
>>>>UN-PATCH 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.
Untuk lebih jelasnya, lihat kesini :http://milw0rm.com/exploits/6234 Atau di http://forum.cyberdos.org/viewtopic.php?id=15 :baCa:
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::_(‘MISTERFRIBO WAS HERE,What Are You Doing..??Fuck And Bitch’));
return false;
}
Pesan tersebut bisa diganti dengan yang lainnya.
Kode tersebut diletakkan dibawah potongan kode :
function confirmReset($token)
{
global $mainframe;
Sebagai perbandingan, klik link berikut untuk melihat file reset.php yang udah di-patch oleh Achev.
>>>>PATCH TOKEN<<<<

No comments:

Post a Comment