Joomla 1.5.x Remote Admin Password Change
Wednesday, August 13, 2008 6:37:30 AM
Bug nghiêm trọng của Joomla 1.5.x (và tất cả các source based Joomla) cho phép thay đổi mật khẩu Admin mà không cần biết pass . Cách khai thác:
1. Vào đường dẫn: target.com/index.php?option=com_user&view=reset&layout=confirm
2. Đánh ' vào ô token => Enter
3. Đánh pass mới cho Admin
4. Login vào : target.com/administrator/
5. Đăng nhập với password mới.
Các phiên bản bị ảnh hưởng:
- Tất cả các phiên bản cũ hơn 1.5.x bao gồm cả phiên bản 1.5.5
Giới thiệu:
- Một lỗi bảo mật nghiêm trọng đã được phát hiện, lỗi này cho phép 1 người dùng chưa đăng nhập, không có quyền truy nhập vào hệ thống có thể thay đổi mật khẩu của tài khoản được kích hoạt đầu tiên, thông thường đây là tài khoản của admin.
I. Mô tả
Lỗi xuất hiện trong file /components/com_user/models/reset.php Dòng 111-130
Cho phép hacker có thể reset mật khẩu Administrator mới, và đăng nhập vào phần quản trị nội dung của Website
II. Ảnh hưởng
- Chiếm toàn quyền điều khiển nội dung Website sử dụng Joomla!
III. Giải pháp
- Nâng cấp phiên bản Joomla! mới nhất (1.5.6 hoặc mới hơn), hoặc sửa lỗi trong file /components/com_user/models/reset.php với đoạn mã sau:
Sau global $mainframe; trên dòng 113 của file reset.php, thêm:
1. Vào đường dẫn: target.com/index.php?option=com_user&view=reset&layout=confirm
2. Đánh ' vào ô token => Enter
3. Đánh pass mới cho Admin
4. Login vào : target.com/administrator/
5. Đăng nhập với password mới.
Các phiên bản bị ảnh hưởng:
- Tất cả các phiên bản cũ hơn 1.5.x bao gồm cả phiên bản 1.5.5
Giới thiệu:
- Một lỗi bảo mật nghiêm trọng đã được phát hiện, lỗi này cho phép 1 người dùng chưa đăng nhập, không có quyền truy nhập vào hệ thống có thể thay đổi mật khẩu của tài khoản được kích hoạt đầu tiên, thông thường đây là tài khoản của admin.
I. Mô tả
Lỗi xuất hiện trong file /components/com_user/models/reset.php Dòng 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;
Cho phép hacker có thể reset mật khẩu Administrator mới, và đăng nhập vào phần quản trị nội dung của Website
II. Ảnh hưởng
- Chiếm toàn quyền điều khiển nội dung Website sử dụng Joomla!
III. Giải pháp
- Nâng cấp phiên bản Joomla! mới nhất (1.5.6 hoặc mới hơn), hoặc sửa lỗi trong file /components/com_user/models/reset.php với đoạn mã sau:
Sau global $mainframe; trên dòng 113 của file reset.php, thêm:
if(strlen($token) != 32) { { $this->setError(JText::INVALID_TOKEN); return false; }






