I. Di chuyển vị trí file config - Bước 1: Đầu tiên tạo một thư mục chứa file config, thư mục này đê đâu tuỳ các bạn ví dụ: diendan/game/data/core/app/vnxf Ở đây vnxf là thư mục chứa file config mình tạo. - Bước 2: sau đó copy file config của các bạn đặt vào đó, đổi tên file config ví dụ: mình đổi config.php thành vnxf.php - Bước 3: chmod file config vừa đổi tên (ví dụ: vnxf.php) thành 400 chmod thư mục chứ file config thành 101 - Bước 4: Mở file config.php gốc trong thư mục library lên xoá toàn bộ nội dung trong đó và thay bằng đoạn code sau: Mã: sau đó chmod 400 Trong đó: diendan/game/data/core/app/vnxf/vnxf.php là đường dẫn tới file config chmod 101 cho thư mục: Tác dụng khi truy cập vào thư mục thì sẽ báo thư mục rỗng chmod 400 cho file: Chống sửa P/s: Chống chỉ định với các bạn sử dụng code load cache. II. Đặt code trong nhiều lớp thư mục Thông thường khi local attack (local thế nào các bạn hỏi google nhé) hacker thường sẽ get file config để lấy thông tin database. Thường thì cũng dễ đoán đường dẫn thôi nếu không thay đổi. Mình ví dụ với direct admin thì đường dẫn mặc định thế này: - /home/vnxf/domains/vnxf.vn/public_html/library/config.php hoặc nếu đặt code trong thư mục thì sẽ thế này - /home/vnxf/domains/vnxf.vn/public_html/folder/library/config.php vậy hacker chỉ cần run câu lệnh đến đường dẫn đó là xong (cách run lệnh và làm thế nào để run bà con tự tìm hiểu nhé) Để phòng tránh điều này thì ta đặt code inclu trong nhiều thư mục ví dụ thế này: /home/vnxf/domains/codientu.org/public_html/folder/folder1/folder2/folder3/folder4/diendan Rồi việc còn lại là trỏ domain tới cái thư mục diendan tức là cái thư mục cuối cùng chứa code. (trỏ domain ra sao hỏi google nhé ) ) Vậy đường dẫn của site vẫn là thế này http://yourdomain/diendan => ai cũng nghĩ code ta chỉ đặt trong thư mục diendan và nghĩ đường dẫn của ta là thế này: /home/vnxf/domains/vnxf.vn/public_html/diendan/library/config.php chẹp mà hacker không gà thế đâu nếu run lệnh không được họ sẽ dễ dàng đoán ra ta đặt code xuyên nhiều thư mục . Mà cái quan trọng là tên các thư mục cha mẹ của thư mục diendan tên là gì mỗi mình ta biết thôi đâu ai biết đâu, vậy cứ để người khác ngồi mò đường dẫn đi. tốn kha khá time đấy. Chú ý CHMOD mỗi lớp thư mục là 701, up lên file index.html với nội dung rỗng để che không cho thấy nội dung trong thư mục (trừ cái thư mục cuối cùng chưa code đó dừng up nhé không lại ko vào đc 4rum ) P/s: cách này hay nhưng sẽ là xấu đường link khi dùng xenporta nên ai muốn làm đẹp link thì khỏi dùng ) III. Sử dụng file .htaccess để bảo mật website Việc sử dụng htaccess giúp hạn chế tối đa việc chèn Shell nếu có lỗi. Các thư mục sau: public_html/data ,public_html/styles ,public_html/js bạn up file .htaccess với nội dung sau: Mã: # Bạn có thể tự cập nhật file không cho phép chạy, ở đây chỉ cấm 03 loại file: cgi, pl và php Order Deny,Allow Deny from all Các thư mục sau: public_html/library , public_html/internal_data ,public_html/install (tùy)bạn up file.htaccess với nội dung sau: Mã: Order deny,allow Deny from all IV. Bảo mật admincp Phần 1: Thay đổi địa chỉ trang quản lí admin (Mặc định trang quản lí của bạn là http://tenwebsiteban/admin.php). - Vào host đổi tên file admin.php thành tên bạn muốn (ví dụ: abc.php). - Mở file: library/XenForo/Link.php. Tìm đoạn code sau: Mã: $outputLink = 'admin.php' . ($append !== '' ? '?' : '') . $append; if ($fullLink) - Thay admin.php bằng tên file mà bạn vừa đổi. Ví dụ: Mã: $outputLink = 'abc.php' . ($append !== '' ? '?' : '') . $append; - Mở template moderator_bar tìm đoạn code sau: Mã: {xen:phrase admin_control_panel} - Thay admin.php bằng tên file mà bạn vừa đổi. Ví dụ: Mã: {xen:phrase admin_control_panel} Phần 2: Tạo thêm 1 lần đăng nhập trước khi vào AdminCP. - Mở file admin.php (hoặc file mà bạn vừa đổi tên) thêm vào sau dòng Mã: //Dang nhap vao admincp$config['user_vietxforg'] = 'yourusername';$config['pass_vietxforg'] = 'yourpassword'; if ($_SERVER['PHP_AUTH_USER'] != $config['user_vietxforg'] || $_SERVER['PHP_AUTH_PW'] != $config['pass_vietxforg']){header('WWW-Authenticate: Basic realm="Xin vui long khai bao thong tin yeu cau truoc khi duoc chuyen den bang dang nhap"');header('HTTP/1.0 401 Unauthorized'); //Trang sẽ hiển thị khi thông tin khai báo sai. (support HTML).echo 'Access Denied!!!';exit;} Phần 3: Tạo 1 file admin.php ảo để đánh lừa hacker. - Sau khi hoàn thành bước 1 file admin.php thật sẽ được thay đổi. Bạn có thể tạo ra 1 file admin.php ảo có nội dung như sau: Các bạn tải file đính kèm và sửa các code sau: Mã: Cộng đồng Xenforo Việt Nam - Admin Control Panel Login | Admin CP - Cộng đồng Xenforo Việt Nam Mã: Cộng đồng Xenforo Việt Nam - Admin Control Panel Login Mã: http://vnxf.vn Mã: vnxf.vn Thành title và link site bạn nhé. Lưu ý chỉ sửa những cái mình ghi ở trên. V. Bảo mật admin bằng IP - Bước 1: Tạo 1 file php đặt tên là baomat.php Mã: ', $read_ip); $list_ip[] = $ip[1]; } fclose($fopen_ip); if ( !in_array($_SERVER['REMOTE_ADDR'], $list_ip) ){ echo ""; exit(); } ?> - Bước 2: Tạo tiếp 1 file php đặt tên là themip.php Mã: Kiểm tra IP ', $read_ip); $list_ip[] = $ip[1]; } fclose($fopen_ip); if ( in_array($_SERVER['REMOTE_ADDR'], $list_ip) ){ echo "IP của bạn đã được cập nhập sẵn."; } else { if ($_POST[submit]) { if ($_POST[code] == "$pass") $_SESSION['code'] = "$pass"; } if (!$_SESSION['code'] || $_SESSION['code'] != "$pass") { echo " Code: "; exit; } $new_ip = $_SERVER['REMOTE_ADDR']; $fp = fopen($file_listip, "a+"); fputs ($fp, "$new_ip\n"); fclose($fp); echo "IP của bạn đã được cập nhập thành công."; } ?> Đoạn này: Mã: vnxf.vn là pass nhé các bạn thay tùy ý. - Bước 3: Tiếp tục mở Notepad lên rồi lưu lại với tên themip.txt - Bước 4: Mở file admin.php thêm đoạn code này Mã: include("baomat.php"); dưới dòng Bước 5: up tất cả lên host ngang hàng index * tác dụng của các file: Khi các bạn gõ đường dẫn: http://yoursitename/admin.php nó sẽ đọc lệnh: include("baomat.php"); trước và chạy file baomat.php, file baomat.php sẽ check trong file themip.txt xem có địa chỉ IP bạn trong đó không, nếu có thì nó sẽ chuyển bạn tới khung đăng nhập của admincp, nếu không có thì nó sẽ hiện trang trắng. Để thêm IP bạn chạy link: http://yoursite/themip.php và nhập pass vào ô code Chúc các bạn thành công. Nguồn: codientu.org
Phần 2: Tạo thêm 1 lần đăng nhập trước khi vào AdminCP. - Mở file admin.php (hoặc file mà bạn vừa đổi tên) thêm vào sau dòng Thêm đoạn này vào thì nó cứ hiện cái bảng đòi nhập pass nhập hoài không cho vào Phần 3: Tạo 1 file admin.php ảo để đánh lừa hacker. - Sau khi hoàn thành bước 1 file admin.php thật sẽ được thay đổi. Bạn có thể tạo ra 1 fileadmin.php ảo có nội dung như sau: Các bạn tải file đính kèm và sửa các code sau: Sao không thấy file đính kèm đâu PVS ơi
Khá hay, nhưng theo riêng mình thì chỉ cần chmod file config hoặc ZendPHP file config và đặt .htaccess trong folder attach là đủ rồi. Vì sao, vì khi bị hack chắc chắn hacker sẽ scan source + tìm erro log + scan sql inject cho dù bạn có dấu hay đổi tên config đi đâu chăng nữa vẫn tìm ra! Hack chỉ tìm lổ hổng trong thư viên img php-gd thông qua attach file, bạn chỉ cần bảo mật hoặc fix phần attach là ổn!
Thấy bảo mật 2 lớp của Xenf hay đấy. Đang dùng, khá tiện lợi, nó cũng cung cấp mã dự phòng nữa. An tâm.
Phần này có phát sinh lỗi gì không khi mà em đăng nhập 2 lần ok. vào đến trang cài đặt add-on nó nó hiển thị một lần nữa. Nhập đúng pas và id nhưng không được.. click vào hủy bỏ sau đó vào lại trang admin thì hệ thống báo rebuild. Sau khi rebuild thì add-on đó đã được cài vào. Như vậy là sao.. nếu người lạ muốn cài add-on vào không cần biết pas vẫn cài bình thường ah bác @PVS Đây có phải là lỗi hay là lỗ hổng của các cài đặt trên
Bản nào cũng vậy thôi, người hướng dẫn thiếu 1 bước nào đó, nên khi gặp lỗi như trên thì đổi cái admin.php ở thanh địa chỉ thành tên file bạn đã làm, ví dụ admin.php bạn đã đổi thành abc.php thì gõ domain/abc.php/..... rồi enter nó sẽ cài tiếp.
Xin chào AE VNXF. Lâu ngày mới vào lại nên bổ sung bài này thêm 1 tí nhé Thông thường thay đổi tên trang Admin CP khi cài đặt add-on sẽ bị lỗi vì nó sẽ chuyển qua admin.php (cũ), vậy nên mọi người phải sửa thêm 1 bước nữa. Mọi người vào theo đường dẫn library => XenForo => ViewRenderer => rồi mở file HtmlAdmin.php, sau đó tìm admin.php và sửa thành tên mà bạn vừa đổi. Theo ví dụ của bạn đăng là abc.php. Xong. Hy vọng giúp ích cho mọi người.