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ã:
<?php include "diendan/game/data/core/app/vnxf/vnxf.php" ?>
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ã:
<FilesMatch "\.(cgi|pl|php)$"> # 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 </FilesMatch>
Mã:
Order deny,allow Deny from all
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)
Ví dụ:
Mã:
$outputLink = 'abc.php' . ($append !== '' ? '?' : '') . $append;
Mã:
<a href="admin.php" class="acp adminLink"><span class="itemLabel">{xen:phrase admin_control_panel}</span></a>
Ví dụ:
Mã:
<a href="abc.php" class="acp adminLink"><span class="itemLabel">{xen:phrase admin_control_panel}</span></a>
- Mở file admin.php (hoặc file mà bạn vừa đổi tên) thêm vào sau dòng <?php đoạn code sau:
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 '<center>Access Denied!!!</center>';exit;}
- 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ã:
<title>Cộng đồng Xenforo Việt Nam - Admin Control Panel Login | Admin CP - Cộng đồng Xenforo Việt Nam</title>
Mã:
Cộng đồng Xenforo Việt Nam - Admin Control Panel Login
Mã:
http://vnxf.vn
Mã:
vnxf.vn
V. Bảo mật admin bằng IP
- Bước 1: Tạo 1 file php đặt tên là baomat.php
Mã:
<?php $list_ip = array( "127.0.0.1", // Local "202.78.227.157" // IP Hosting ); $file_listip = "themip.txt"; // Kiem tra xem trong file themip.txt co ip dang truy cap khong. $fopen_ip = fopen($file_listip, "r"); while ( !feof($fopen_ip) ) { $read_ip = fgets($fopen_ip,50); $ip = explode('<nbb>', $read_ip); $list_ip[] = $ip[1]; } fclose($fopen_ip); if ( !in_array($_SERVER['REMOTE_ADDR'], $list_ip) ){ echo "<center></center>"; exit(); } ?>
Mã:
<?php SESSION_start(); $pass = 'vnxf.vn'; // Mat khau de them ip vao file txt $file_listip = "themip.txt"; // file txt co nhiem vu them ip ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html> <head> <title>Kiểm tra IP</title> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> </head> <body> <?php $fopen_ip = fopen($file_listip, "r"); while ( !feof($fopen_ip) ) { $read_ip = fgets($fopen_ip,50); $ip = explode('<nbb>', $read_ip); $list_ip[] = $ip[1]; } fclose($fopen_ip); if ( in_array($_SERVER['REMOTE_ADDR'], $list_ip) ){ echo "<center>IP của bạn đã được cập nhập sẵn.</center>"; } else { if ($_POST[submit]) { if ($_POST[code] == "$pass") $_SESSION['code'] = "$pass"; } if (!$_SESSION['code'] || $_SESSION['code'] != "$pass") { echo "<center><form action='' method=post> Code: <input type=password name=code> <input type=submit name=submit value=Submit> </form></center> "; exit; } $new_ip = $_SERVER['REMOTE_ADDR']; $fp = fopen($file_listip, "a+"); fputs ($fp, "<nbb>$new_ip<nbb>\n"); fclose($fp); echo "<center>IP của bạn đã được cập nhập thành công.</center>"; } ?> </body> </html>
Mã:
vnxf.vn
- 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");
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.
EmoticonEmoticon