VietNetwork.Vn

 


Tác giả Chủ đề: Kloxo dính lỗi SQL injection giúp attacker dùng quyền admin + Cách khắc phục  (Đã xem 1002 lần)

0 Thành viên và 2 Khách đang xem chủ đề.

viethosting

  • Global Moderator
  • Hero Member
  • *****
  • Bài viết: 802
  • Số Lần: +1/-0
Với lỗi này, hacker có thể truy cập trái phép vào kloxo như admin. Vì vấn đề khá nguy hiểm nên mình ko muốn post tool và phân tích bug mà sẽ post cách khắc phục thôi nhé. Bác nào hiểu thì tự tìm hiểu tiếp  nếu biết rồi cũng ko nên public ra làm gì vì hiện giờ rất nhiều hệ thống đang sử dụng Kloxo.
 
 * Hiểm họa: Hacker sẽ có thể login dưới quyền admin Kloxo và ..... sẽ ko làm gì hết ?
 
 
You are not allowed to view links. Register or Login
Lỗi SQL Injection này giúp attacker login dưới quyền admin
 Thôi kệ nó, giờ đi khắc phục nhé:
 Mở: /usr/local/lxlabs/kloxo/httpdocs/htmllib/phplib/lxlib.php
 Tìm hàm:
  PHP Code: function check_raw_password($class, $client, $pass)
{
   
//return true;

   
if (!$class || !$client || !$pass) {
        return
false;
    }

   
$rawdb = new Sqlite(null, $class);
   
$password = $rawdb->rawquery("select password from $class where nname = '$client'");
   
$enp = $password[0]['password'];

    if (
$enp && check_password($pass, $enp)) {
        return
true;
    }
    return
false;
   
//$rawdb->close();

  Trong hàm này, thêm vào ngay đằng trước $rawdb = new Sqlite(null, $class); nội dung sau
 $client = addslashes($client);
 $class = addslashes($class);
 
 Tìm tiếp tới: /usr/local/lxlabs/kloxo/httpdocs/htmllib/lib/objectactionlib.php
 Tìm tới hàm:
 function webcommandline_main()
 Ngay bên dưới nó vài dòng bạn sẽ thấy dòng sau
  PHP Code: if ($opt['login-class'] !== 'client' && $opt['login-class'] !== 'auxiliary') { 
  Sửa nó thành:
  PHP Code: if ($opt['login-class'] !== 'client' || $opt['login-class'] !== 'auxiliary') { 
  * Thông tin được tham khảo từ LxCenter Forum.


 

Copyright © VietNetwork.Vn