Quảng cáo thiết kế web giá rẽ 1
×

success

No Sass files were modified. Time elapsed 0.0003 seconds
Xử lý website bị hack

Xử lý website bị hack, bị chèn mã độc, website bị chuyển hướng, website bị chèn quảng cáo, website bị nhiễm virus, web bị thay đổi giao diện, website có chứa link lạ

Theo Google, hướng dẫn lần lượt dẫn dắt người xem các nội dung từ cơ bản đến nâng cao với gần tám phút minh họa trực quan qua video clip kèm theo nhiều dữ liệu bảo mật hữu ích. Thông tin này dành cho tất cả cấp độ webmaster, từ cơ bản đến chuyên viên.

Phần đầu tiên là nhận biết tổng quan, hỗ trợ những người không rành về kỹ thuật, chú trọng giải thích các vấn đề:

  • Website của bạn bị hack như thế nào và tại sao
  • Tiến trình khôi phục website và cách gỡ bỏ "cảnh báo của Google" đối với website của bạn
  • Thời gian khôi phục tùy thuộc những tổn hại và kỹ thuật của quản trị viên
  • Google đưa ra hai tùy chọn: tự thực hiện hoặc nhờ cậy đến các chuyên viên

Nhà cung cấp dịch vụ thường tiếp nhận vụ việc và nhanh chóng xử lý vì cũng lo ngại tình trạng "attack local" khi một website trên hệ thống lưu trữ chung nhiều website bị hack - dẫn tới các website trong cùng hệ thống sẽ bị liên quan. Ngoài ra, họ còn có thể giúp bạn khôi phục website.

Bước kế tiếp rất quan trọng, tiến trình rà soát toàn bộ website để tránh trở thành nơi lây nhiễm mã độc cho khách truy cập. Hãy tạm thời cho website ngưng hoạt động (offline), thông báo đầy đủ đến khách truy cập và thực hiện kiểm tra.

Google khuyến cáo rà soát các tài khoản quản trị của website, tin tặc có thể đã tạo thêm tài khoản để thâm nhập trong lần tới, đồng thời thay đổi tất cả mật khẩu của website, FTP, cơ sở dữ liệu lẫn người dùng hiện có.

Theo các chuyên gia từ Google, bạn cần lưu ý các điều sau để tránh website trở thành "mồi ngon" của tin tặc:

  • Luôn luôn cập nhật phiên bản mới nhất của phần mềm website và các phần mềm liên quan
  • Hiểu biết đúng về mức độ an toàn đối với các ứng dụng, tiện ích mở rộng (plug-in), phần mềm của bên thứ ba... trước khi cài đặt chúng cho website của mình. Một lỗi bảo mật trong ứng dụng nhỏ có thể ảnh hưởng toàn bộ website
  • Gỡ bỏ phần mềm không cần thiết hay không dùng đến
  • Luôn tạo những mật khẩu mạnh mẽ
  • Luôn giữ an toàn cho các thiết bị kết nối đến máy chủ web như máy tính xách tay (cập nhật hệ điều hành, trình duyệt web, khóa plug-in Java, luôn cài đặt tường lửa và trình anti-virus...)
  • Tạo nhiều bản sao lưu (backup) định kỳ cho website và lưu giữ chúng an toàn (mã hóa).

Dấu hiệu nhận biết một website bị hack

web bi hack

Thông thường khi một website của khách hàng bị hack sẽ có các dấu hiệu dễ nhận biết sau: 

- Website bị thay đổi nội dung (deface) hoặc trong mã nguồn bị chèn một số đoạn mã, script lạ do hacker chèn vào. Các đoạn mã này bị chèn vào tùy thuộc vào mục đích của hacker

- Khi truy cập vào website thì thường xuyên bị redirect qua các website độc hại, website quảng cáo- Website bị upload shell

- Website bị cảnh báo Reported Attack Site bởi Google

website bi hack

Khách hàng có thể dựa vào các dấu hiệu này xác định được website của mình có bị hack hay không để có biện pháp kiểm tra xử lý kịp thời.

Có khá nhiều nguyên nhân để website của khách hàng có thể trở thành mục tiêu của hacker tuy nhiên thông thường nguyên nhân thường thuộc phía người dùng với các lý do sau:

- Đặt mật khẩu quản trị quá yếu (không đủ độ dài ký tự, không có các ký tự viết hoa, ký tự đặc biệt,... ), thiếu cơ chế chống brute force khiến kẻ tấn công có thể dò password admin.

- Cài đặt các module, plugin, extension,... trong các mã nguồn mở hiện nay (thường là các website joomla, wordpress,...).

- Để lộ mật khẩu quản trị trong quá trình sử dụng

- Dùng mã nguồn phiên bản cũ với nhiều lỗi bảo mật qua đó hacker tấn công vào một điểm yếu và khai thác lỗi

- Tấn công local attack

Kiểm tra tổng thể website bị hack

Một khi website của khách hàng bị hack khách hàng cần bình tĩnh và thực hiện các thao tác sau để kiểm tra và xử lý:

- Cách li website

- Kiểm tra và xác định thiệt hại

- Nhận diện lỗ hổng

- Xử lý và bảo trì website

- Đưa website trở lại hoạt động 

Bước 1: Cách li website

Khi website của khách hàng bị hack việc đầu tiên là cần cách li ngay website của mình.

Kiểm tra các bản backup của website hoặc nhanh chóng báo cho phòng kỹ thuật để phòng kỹ thuật cung cấp lại bản backup cho việc phục hồi và kiểm tra website.

Việc này giúp cho website của khách hàng không bị tiếp tục tấn công bởi hacker hoặc website tiếp tục cung cấp các nội dung bị sửa đổi cho người dùng.

Để thực hiện khách hàng có thể thay thế trang chủ bởi nội dung "Website đang được bảo trì!"

Tiếp đến khách hàng cần kiểm tra các tài khoản trên website, kiểm tra có tài khoản nào hacker mới tạo ra và xóa đi. Tránh hacker có thể login vào với thông tin đăng nhập cũ.

Khách hàng cần đổi tất cả các thông tin tài khoản bao gồm: tài khoản website, database, tài khoản quản lý hosting, FTP.

Sau khi thực hiện tất cả các thao tác trên khách hàng đã hoàn tất việc cách li website của mình để tiến hành kiểm tra 

Bước 2: Kiểm tra và xác định thiệt hại 

Bước tiếp theo là kiểm tra mức độ thiệt hai của website sau khi bị tấn công.

Thông thường với dạng tấn công deface hacker chỉ thay thế trang chủ website của khách hàng và thông báo cho khách hàng website đã bị hack.

Trường hợp này ta chỉ cần xóa file "index"của hacker và thay thế lại bằng file "index" gốc của website là website đã có thể hoạt động bình thường.

Tuy nhiên, với một số trường hợp tinh vi hơn, hacker chèn vào trong mã nguồn của khách hàng các đoạn mã hay script việc phát hiện sẽ khó khăn hơn.

Ngoài ra hacker cũng có thể upload shell lên website của khách hàng để chiếm quyền điều khiển sau này.

Với những trường hợp này khách hàng cần download toàn bộ mã nguồn website về máy tính local và thực hiện rà soát mã nguồn.

Nếu kiểm tra trong mã nguồn có các đoạn mã nào lạ bị chèn vào hay file nào lạ được upload lên khách hàng cần thực hiện xóa ngay.

Bước 3: Nhận diện lỗ hổng có thể dẫn tới website bị hack

Đây là bước khó nhất, nó đòi hỏi kinh nghiệm và kiến thức để có thể kiểm tra chính xác nguyên nhân và cách khắc phục. Bài viết này chỉ cung cấp cho khách hàng một số bước cơ bản để kiểm tra và xác định nguyên nhân:

- Đầu tiên khách hàng kiểm tra trong access log hay error log tìm kiếm tất cả các thông tin liên quan đến việc website bị tấn công:

Ví dụ như website bị tấn công dò mật khẩu, có một số login không hợp lệ từ IP lạ , một số file lạ được upload bằng FTP.

Dựa vào các thông tin trên khách hàng có thể kết luận khách hàng bị lộ mật khẩu hay hacker tấn công băng cách khai thác các lỗ hỗng bảo mật khác

- Kiểm tra xem mã nguồn đang dùng có đang tồn tại lỗ hỗng bảo mật, các module, plugin được cài lên website có an toàn.

Nếu một số lỗi trên có thể bị khai thác thì tìm hiểu cách khai thác và so sánh với access log để đưa ra kết luận

- Kiểm tra một số đoạn access log lạ từ đó tìm ra cách khai thai lỗ hỗng của hacker.

Ví dụ thông thường để upload một file lên website thì phải dùng phương thức POST, khách hàng có thể dựa vào thông tin này để rút ngắn lại phạm vi tìm kiếm nhằm xác định chính xác cách thức khai thác

- Dùng một số phần mềm virus để quét mã nguồn website

Bước 4: Xử lý và bảo trì website

Khi xác định được chính xác nguyên nhân khách hàng cần có phương án xử lý ngay lập tức.

Nếu xác định nguyên nhân do lộ mật khẩu quản trị khách hàng cần đổi mật khẩu phức tạp và tránh để lộ mật khẩu trong quá trình sử dụng.

Nếu lỗi do mã nguồn khách hàng cần update mã nguồn lên phiên bản mới nhất để fix các lỗi bảo mật.

Ngoài ra khách hàng cần tránh dùng các module hay plugin không rõ nguồn gốc cho website.

Nếu Module hay plugin có thể bị khai thác khách hàng cần xóa ngay plugin này khỏi website Kiểm tra lần cuối để chắc chắn website của khách hàng đã và tạo một bản backup để sử dụng khi cần thiết

Tìm xóa các khối mã độc, shell, virus cần xóa

Quét qua các tệp tin đáng ngờ mà bạn đã xác định để tìm các khối mã obfuscated. Mã obfuscated như một sự kết hợp của các chữ cái và chữ số sắp xếp lộn xộn thường được đặt trước bởi sự kết hợp của các hàm PHP như:

base64_decode, rot13, eval, strrev, gzinflate

Công cụ quét tìm mã độc, scan shell

scan shell php

Bạn hãy copy đoạn code bên dưới, tạo một file scan.php và dán code vào. Sau đó up lên thư mục public_html hosting và chạy đường dẫn ví dụ: domain/scan.php

Link code: https://webseogoogle.com/scan.txt

Nhập các hàm cần tìm kiếm để tìm các file chưa mã độc và xử lý.

<?php
/*********************************************************
- Tool Scan shell vesion 1.0
- Code by mr.T
**********************************************************/
error_reporting (E_ALL);	// Mở báo lỗi
ini_set("memory_limit","2000M");
ini_set("safe_mode","off");
$safe_mode = @ini_get('safe_mode');
if (!$safe_mode)
set_time_limit(0);
if (@!isset($_POST['key']))
{
?>
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
<title>Scan Shell v2.6</title>
<style>
body { 
font-family:arial;
}
</style>
</head>
<body bgcolor=black text=blue size=2><center>
<form method='post' action=''>
<div style="border-style: solid; border-width: 1px; padding-left: 4px; padding-right: 4px; padding-top: 1px; padding-bottom: 1px">
<h1>Scan Shell - v2.6</h1> 
				  <div>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Folder: <input type='text' size=70 name='folder' value='<?echo $_SERVER['DOCUMENT_ROOT']?>/'/></div>  				  
                  &nbsp;<div>&nbsp; KeyWord:&nbsp; <input type='text' size=70 name='key' value='base64_decode'/></div>  
                  <p><input type='submit' name='submit' value='Tìm kiếm' /></p>  </div>
				  <div align=left><br>Step 1: Nhập đường dẫn thư mục cần scan</div>
				  <div align=left>Step 2: Nhập từ khóa cần tìm</div>
            </form>
<br><br>
---------------------------------------------------------------------------------
<br><br><i>Power By <a href="https://webseogoogle.com"><font color=red>webseogoogle.com</font></a><br>Copyright 2011<a href="#"><font color=yellow>This email address is being protected from spambots. You need JavaScript enabled to view it.</font></a><br/> 
<br>---------------------------------------------------------------------------------
</center>
</body>
</html>
  <?
}
else
{
if ($_POST['folder']) $folder = $_POST['folder']; else $folder = $_SERVER['DOCUMENT_ROOT'];
define('Keyword',$_POST['key']);									// Tìm kiếm từ khóa
define('TAB',"&nbsp;&nbsp;&nbsp;&nbsp;");						
define('IGNORE_EXTENSIONS',"jpg pdf zip psd doc gif swf xls gz txt");	// Không tìm những file
define("MAX_SIZE",1024*1024*1024);									// Size tối đa
define("IGNORE_BEFORE", strtotime('2009-08-01') );				// Tìm File trước ngày
$shell = $_SERVER["PHP_SELF"];
function findexts($filename)
{
	$filename = strtolower($filename) ;
	$exts = split("[/\\.]", $filename) ;
	$n = count($exts)-1;
	$exts = $exts[$n];
	return strtolower($exts);
} 
function check_dir($directory,$level) {
	global $virus_detected, $all, $detect_errors_only, $detected_Keyword_in_test_script;
	$indent='';
	for ($count=0;$count<$level;$count++) {
		$indent.=TAB;
	}
	$level++;
	$read_dir=opendir($directory);	// Mở thư mục hiện tại
	while ($file=readdir($read_dir)) {
		$filepath=$directory.'/'.$file;
		if ($detect_errors_only && $virus_detected) {
			exit;
		}
		if (is_dir($filepath)) {
			// Thư mục
			if ( ($file<>'.') && ($file<>'..') ) {
				check_dir($filepath,$level);
			}
		}
		else {
			if (is_file($filepath)) {
				// Tập
				if ( (is_readable($filepath) )  &&  (!stristr(IGNORE_EXTENSIONS, findexts($file)))  ) {
					if ((filesize($filepath)< MAX_SIZE) && (filemtime($filepath)>IGNORE_BEFORE) ){
						$fileentry=$directory.'/'.$file.' - '.date('j F Y H:i',filemtime($filepath));
						$filestring=file_get_contents($filepath);
						$found=stripos($filestring,Keyword); // PHP 5 ONLY
						$found=stristr($filestring,Keyword);flush();
						if ($found==false) {
							if ( (!$detect_errors_only) && (!$all) ) {
							echo($filepath.'  <font color=#FFFFFF>OK</font><br/>');
							}
						}
						else {
							if ($file=='scan_file.php'){
								$detected_Keyword_in_test_script=true;
							}
							else {
								$virus_detected=true;
								if ($detect_errors_only) {
									echo('<b style="color:#F00">Tập tin đề nghị phát hiện</b><br/>');
								}
								else {
									echo(TAB.'<b style="color:#F00">'.$fileentry.'</b> - <b style="color:#FFFFF0">Phát hiện</b><br/>');
								}
							} 
						}
						$found='';
					}
					else {
						if ( (!$detect_errors_only) && (!$all) ) {
							echo($filepath.'  <b style="color:yellow">NOT CHECKED - File quá lớn</b><br/>');
						}
					}
				}
				else {
					if ( (!$detect_errors_only) && (!$all) ) {
						echo($filepath.'  <b style="color:yellow">NOT CHECKED - Không thuộc kiểu tìm kiếm</b><br/>');
					}
				}
			}
			else {
			}
		}
	}	
	closedir($read_dir);
} 
$virus_detected=false;
$all=true;
$detect_errors_only=false;
$detected_Keyword_in_test_script=false;
if (isset($_GET['all'])) {
	$all=false;
}
if (isset($_GET['detect_errors_only'])) {
	$detect_errors_only=true;
}
echo<<<END1
<html>
<head>
<title>Scan Shell v1.1</title>
<style>
body { 
font-family:arial;
}
</style>
</head>
<body bgcolor=black text=blue size=2>
END1;
?>
<div style="border-style: solid; border-width: 1px; padding-left: 4px; padding-right: 4px; padding-top: 1px; padding-bottom: 1px">
<h1>Truy xuất từ khóa "<?echo Keyword?>" trong hệ thống !</h1>
Bỏ qua lỗi file : <font color=yellow><?echo IGNORE_EXTENSIONS?>.</font><br/>
Bỏ qua file vượt quá : <font color=yellow><?echo MAX_SIZE?> bytes.</font><br/>
Tìm kiếm file trước ngày :<font color=yellow> <?echo date('j F Y',IGNORE_BEFORE)?>.</font><br/><br></div>
<br/><br>[<a href="/<?echo $shell?>?all">Hiển thị tất cả?</a>]
<br/><br/>&nbsp;<br/>
<?
if ($all) {
	echo('<font color=yellow>List File</font><br/>');
}
check_dir($folder,0);
if ($virus_detected) {
	echo('<br/><b style="color:#f00">Tìm kiếm thành công!</b><br>&nbsp;<br/>');
}
else {
echo('<br/><b style="color:#f00">Không có file chứa Key Word!</b><br>&nbsp;<br/>');
}
?>
</body>
</html>
<?
}
?><?

Kiểm tra tập tin .htaccess của bạn

Tìm kiếm vị trí các file .htaccess. Keyword ".htaccess file location" + tên CMS (WordPress, Joomla, ...)

Tìm kiếm file .htaccess mặc địnhKeyword "default .htaccess file" + tên CMS (WordPress, Joomla, ...), thay thế vào các file đã có.

Lưu ý: .htaccess thường là một "tập tin ẩn". Hãy cho phép hiển thị tất cả các tập tin ẩn khi bạn đang tìm kiếm vị trí những file đó 

Chèn file .htaccess bên dưới vào các thư mục uploads ảnh, thư mục hình ảnh:

Order Deny,Allow
Deny from all
<FilesMatch "\.(gif|jpe?g|jpg|png|bmp|pdf|doc|xlsx)$">
    Allow from all
</FilesMatch>

Bước 5: Đưa website trở lại hoạt động

Ngay sau khi đưa website vào hoạt động lại khách hàng cần thường xuyên kiểm tra để xác định website của mình được an toàn và không tiếp tục bị tấn công

Mỗi website có thể có những vấn đề và điểm yếu riêng. Tuy nhiên, yếu điểm quan trọng nhất là yếu tố con người.

Khách hàng phải không ngừng nâng cao, học hỏi thêm kiến thức mới, tăng cường nhận thức về các mối đe dọa và bảo mật nhằm kịp thời nhận ra các lỗ hổng về kỹ thuật, tránh mắc phải các sai lầm trong công tác quản trị website

- Thường xuyên kiểm tra dữ liệu website (chú ý thời gian tập tin, thư mục bị thay đổi ).

- Có kế hoạch backup dữ liệu cụ thể để lúc cần có thể restore lại ngay.

- Không nên cài đặt các module, plugin, extension,... không thật sự cần thiết và không rõ nguồn gốc (nên download module, plugin, extension,.... từ các trang web uy tín).

Thường xuyên update mã nguồn lên phiên bản mới nhất  để hạn chế các lỗi bảo mật trong các phiên bản trước

- Nên đổi mật khẩu quản trị theo 1 chu kỳ định sẵn và lưu giữ cẩn thận.

Mọi chi tiết thắc mắc, hỗ trợ quý bạn vui lòng liên hệ điện thoại / Kết bạn Zalo 0903748536 hoặc Email: This email address is being protected from spambots. You need JavaScript enabled to view it.

Chuyên khắc phục xử lý các sự cố website bị hack

Hỗ trợ tư vấn miễn phí

  • Website bị phá hoại, bị tấn công vì mục đích xấu
  • Website bị thay đổi giao diện
  • Web bị chuyển hướng
  • Website bị popup quảng cáo
  • Website bị chèn link sex, mã nguồn độc hại
  • Website bị nhiễm virus .v.v..
banner thiết kế web giá rẽ
Copyright © 2023 Thiết kế Web Chuẩn Seo Google. All Rights Reserved.