I.Bài toán 1

Tôi đưa ra một giả thiết rằng tài khoản Admin trên forum bạn bị ai đó chiếm lấy bất hợp pháp (thông qua đoán pass, cài troyzan, ăn cấp password cookie…).

Vấn đề đặt ra ở đây là sẽ phải có một pass thứ 2 để ngăn chặn bước chân của kẻ muốn tấn công forum bạn lại chứ big green
Thông thường thì một số bạn dùng htaccess tôi sẽ cung cấp cho các bạn thêm một cách làm nữa:

Cách thiết lập:

Bạn edit file global.php từ thư mục admincp của diễn đàn (không phải global.php nằm bên ngoài index)

-Bạn tìm

-Thêm vào sau đó

//Khai bao dang nhap $config['dn2_dnp'] = 'usename'; $config['mk2_dnp'] = 'password'; if ($_SERVER['PHP_AUTH_USER'] != $config['dn2_dnp'] || $_SERVER['PHP_AUTH_PW'] != $config['mk2_dnp']){ 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 bét. Hỗ trợ HTML nên bạn có thể thiết kế một trang đẹp hơn echo '<center>Đi chổ khác chơi đi chú em. Nhấn nút biến!</center>'; exit; }

-Save lại với mã là UTF-8

kết quả here

Bạn làm thêm một cái nữa ở modcp để bảo mật cho staff của mình luôn.

II.Bài toán 2

Hacker thông qua local biết được cấu trúc dữ liệu site bạn.
Mục đích của cuộc tấn công của hacker là đọc được file config, giả sử tôi có một file config sau:

$INFO['sql_database'] = 'ngoisaon_Forums'; $INFO['sql_driver'] = 'mySQL'; $INFO['sql_host'] = 'localhost'; $INFO['sql_pass'] = 'HANOIMUATHU';

Đây là info database của diễn đàn hacker có thể thông qua nó drop database của forum hoặc thông qua shell đổi được password của admin ~~~> nguy hiểm thật nhỉ

Cách khắc phục:
– Chmod (ko bàn ở đây)
– Zend (dùng trình zendgaurd để zend lại các file php quan trọng)
– Đổi tên thư mục include (chứa file config) và file config.php

Tôi sẽ hướng dẫn các bạn đổi tên thư mục include (chứa file config) và file config.php:

B1: Bạn edit file diagnostic.php trong thư mục admincp

-Tìm

$ignored_files = array('/includes/config.php', '/includes/config.php.new',

-Thay bằng

$ignored_files = array('/thư mục bạn muốn đổi tên/tên file config mới.php', '/thư mục bạn muốn đổi tên/tên file config mới.php.new',

B2: Bạn edit file class_core.php trong thư mục include

-Tìm

include(CWD . '/includes/config.php');

-Thay bằng

include(CWD . '/thư mục bạn muốn đổi tên/tên file config mới.php');

-Tìm

if (file_exists(CWD. '/includes/config.php'))

-Thay bằng

if (file_exists(CWD. '/thư mục bạn muốn đổi tên/tên file config mới.php'))

– Bạn có thể chọn nhiều cách làm như thay đổi tên thư mục chứa file config hoặc thay đổi file tên file config (làm 2 cách càng tốt).
tôi khuyên các bạn nên rename tên thành class_gì đó hoặc functions_gì đó để gây thêm khó khăn về thị lực cho kẻ muốn xâm nhập laughing
– Còn file bạn tạo một file mới với tên config.php và điền info như sau:

Lạy anh tha cho em em có làm gì nên tội thì anh hãy pm em mà trách tội em :))

Bonus cho bạn code fake bigdump mafia chôm được
demo là vipunder Happy

<html> <head> <meta http-equiv="Content-Language" content="en-us"> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <meta name="GENERATOR" content="Microsoft FrontPage 4.0"> <meta name="ProgId" content="FrontPage.Editor.Document"> <title>.:: Loi roi ban ::.</title> </head> <body> <table border="0" cellpadding="0" cellspacing="0" width="100%" height="162"> <tr> <td width="33%" height="21"></td> <td width="33%" align="center" height="21"></td> <td width="34%" height="21"></td> </tr> <tr> <td width="33%" height="75"></td> <td width="33%" align="center" height="75"><img border="0" src="http://daoduytu.net/police.jpg"></td> <td width="34%" height="75"></td> </tr> <tr> <td width="33%" height="21"></td> <td width="33%" align="center" height="21"></td> <td width="34%" height="21"></td> </tr> <tr> <td width="33%" height="24"></td> <td width="33%" align="center" height="24"><font face="Arial" size="4" color="#FF0000"><b>Địa chỉ này không tồn tại hoặc bạn không được quyền truy cập!</b></font></td> <td width="34%" height="24"></td> <center><font color="blue" size="5">Bạn sẽ được chuyển về trang bạn vừa xem</font></center> </tr> <tr> <td width="33%" height="21"></td> <td width="33%" align="center" height="21"> <script language="javascript"> window.setInterval("history.go(-1)", 5000); //history.go(-1); </script> </td> <td width="34%" height="21"></td> </tr> </table> </body> </html>