Lỗi SQL Injection trong Joomla cực kỳ nguy hiểm trên Joomla, khi khai thác được lỗi này hacker có thể chiếm quyền quản trị website một cách dễ dàng bằng 2 cách 1 thông qua cách dò tìm mật khẩu trong bảng #__users, cách 2 dò tìm session trong bảng #__session và chiếm phiên làm việc đó.
Trong bài này chúng ta sẽ phân tích cách khai thác theo hướng chiếm phiên làm việc của người dùng thông qua session_id lưu trữ trong bảng #__session.
Cơ chế lưu trữ session của joomla, khi 1 khách bất kỳ hoặc quản trị viên truy cập vào website dùng mã nguồn mở Joomla thì hệ thống sẽ tự tạo 1 session cho phiên làm việc đó, bất kỳ ai nắm được session nếu là session của quản trị website thì hoàn toàn có thể login được vào bảng điều khiển mà không cần đến username và password.
Bản demo này Joomla Basic thực hiện trên phiên bảng Joomla 1.5 (các phiên bản khác cũng tương tự) và giả sử đã khai thác được lỗi SQL Injection và đã truy cập vào được bảng #__session.
Cách sử dụng session để đăng nhập vào Joomla
Nếu bạn đang sử dụng 1 phiên bản extension có lỗi SQL Injection hãy nâng cấp chúng lên bản mới nhất từ trang chủ của nhà phát triển extension đó.Để xem danh sách các Extension bị lỗi bảo mật bạn có thể tham khảo danh sách được cập nhật tại mục Các lỗi bảo mật Joomla