BẢO MẬT WEBSITE
CÁC CHỦ ĐỀ
BÀI MỚI NHẤT
MỚI CẬP NHẬT

Backdoor là gì? Cách tạo backdoor trong Website

Nếu bạn đang phát triển phần mềm thì không còn lạ gì với từ khóa này phải không nào? Trước đây khi mới tìm hiểu lập trình web mình cũng không hề biết đến khái niệm này, thời đó còn sinh viên thì biết gì về bảo mật, thậm chí đến khi đi thực tập mới nhận ra là mình thích PHP ;)

test php

banquyen png
Bài viết này được đăng tại freetuts.net, không được copy dưới mọi hình thức.

Ok không vòng vo nữa, bây giờ mình sẽ đi thẳng vào vấn đề luôn nhé. Trong bài này chúng ta sẽ tìm hiểu khái niệm backdoor là gì và cách xử lý nó trong PHP như thế nào.

1. Backdoor là gì?

Backdoor hay còn gọi là crypto backdoor, đây là một chương trình gián điệp được tích hợp vào nhân của phần mềm với nhiều mục đích khác nhau, có mục đích xấu và cũng có mục đích tốt. Backdoor có thể xuất hiện ở mọi thiết bị, từ điện thoại của bạn, laptop cho đến router mạng, miễn là những nơi đó có sự tồn tại của phần mềm.

Nhiệm vụ của backdoor là lấy thông tin của người đang sử dụng phần mềm, sau đó thực hiện một thao tác nào đó, ví dụ sẽ gửi thông tin đó lên server để lưu trữ, cái này ta gọi là đánh cắp thông tin của người sử dụng phần mềm. Như vậy thực chất backdoor là việc trao đổi dữ liệu giữa người dùng phần mềm và server.

Bài viết này được đăng tại [free tuts .net]

backdoor png

Chúng ta chia backdoor ra làm hai loại, loại thứ nhất là có lợi và loại thứ hai là có hại. Mình sẽ bàn về loại có lợi trước nhé.

Backdoor có lợi

Đây không hẳn là một chương trình gián điệp mà là một tính năng. Ví dụ khi bạn đang sử dụng phần mềm diệt virus, sau một vài ngày bạn không nâng cấp version thì sẽ xuất hiện thông báo, vậy thì tại sao nó lại biết là phần mềm mình đang dùng đã lỗi thời, cần phải được nâng cấp lên version mới? 

Bạn có thể hiểu thế này, trong phần mềm virus đó có một chương trình gián điệp, nó sẽ lấy thông tin hiện tại của phần mềm và gửi lên server, sau đó so sánh xem version có bị lỗi thời hay không, nếu có thì thông báo cho người dùng.

Không chỉ được áp dụng vào việc kiểm tra version mà backdoor còn được dùng để xử lý bản quyền. Bạn sẽ lập trình một chức năng tự động kiểm tra xem người dùng có đăng ký mua bản quyền không, và đương nhiên để kiểm tra thì bắt buộc phải gửi request lên server. 

Đối với một số công ty khi làm web họ sẽ tích hợp backdoor vào với mục đích quản lý mã nguồn của họ. Với mỗi khách hàng họ sẽ thiết lập cấu hình chỉ dùng cho khách đó mà thôi, nếu source bị dùng cho domain khác thì lập tức backdoor sẽ gửi thông tin lên server hoặc thưc hiện một thao tác thông báo nào đó.

Backdoor có hại

Đây mới chính là một chương trình gián điểm thực thụ, nó sẽ lấy cắp thông tin của người dùng phần mềm và gửi lên server, với cách này thì mọi thông tin của người dùng đều sẽ bị đánh cắp. Có một số cá nhân tạo ra một bộ source web, sau đó cài backdoor vào và đi chia sẻ cho cộng đồng. Lúc này giả sử cộng đồng có 1000 người sử dụng mã nguồn đó thì chắc chắn thông tin 1000 người đó sẽ bị đánh cắp.

2. Cách tạo backdoor trong website

Mình sẽ không code cụ thể mà sẽ hướng dẫn các bạn cách code, vì mỗi Framework và CMS sẽ có cách hoạt động khác nhau nên vị trí thêm backdoor sẽ khác nhau.

Giả sử bạn muốn mã nguồn chỉ dành cho domain là freetuts.net thì lúc này bạn sẽ code như sau để kiểm tra bản quyền.

Code
if ($_SERVER['HTTP_HOST'] !== 'freetuts.net')
{
    // thực hiện xử lý bắt bản quyền
}

Nói chung có rất nhiều cách, quan trọng là bạn phải hiểu backdoor là gì và cách hoạt động của nó như thế nào.

Câu hỏi đặt ra bây giờ là code đó sẽ đặt ở đâu? Bạn sẽ đặt tại một nơi mà ít ai để ý như trong bộ core của framework, hoặc bạn mã hóa nó rồi đặt tại một vị trí bất kì trong source.

3. Lời kết

Trên chỉ là một phân tích nho nhỏ về backdoor, mình không thể chỉ cách code cụ thể được nên rất mong các bạn thông cảm. Chúc bạn thành công với chiến lược tạo backdoor để quản lý mã nguồn của mình nhé.

Cùng chuyên mục:

Hàm key_exists() trong PHP

Hàm key_exists() trong PHP

Cách sử dụng key_exists() trong PHP

Hàm mysqli_fetch_row() trong PHP

Hàm mysqli_fetch_row() trong PHP

Cách sử dụng mysqli_fetch_row() trong PHP

Hàm end() trong PHP

Hàm end() trong PHP

Cách sử dụng end() trong PHP

Hàm mysqli_field_count() trong PHP

Hàm mysqli_field_count() trong PHP

Cách sử dụng mysqli_field_count() trong PHP

Hàm count() trong PHP

Hàm count() trong PHP

Cách sử dụng count() trong PHP

Hàm mysqli_field_seek() trong PHP

Hàm mysqli_field_seek() trong PHP

Cách sử dụng mysqli_field_seek() trong PHP

Hàm compact() trong PHP

Hàm compact() trong PHP

Cách sử dụng compact() trong PHP

Hàm mysqli_field_tell() trong PHP

Hàm mysqli_field_tell() trong PHP

Cách sử dụng mysqli_field_tell() trong PHP

Hàm array_values() trong PHP

Hàm array_values() trong PHP

Cách sử dụng array_values() trong PHP

Hàm mysqli_free_result() trong PHP

Hàm mysqli_free_result() trong PHP

Cách sử dụng mysqli_free_result() trong PHP

Hàm array_unshift() trong PHP

Hàm array_unshift() trong PHP

Cách sử dụng array_unshift() trong PHP

Hàm mysqli_get_charset() trong PHP

Hàm mysqli_get_charset() trong PHP

Cách sử dụng mysqli_get_charset() trong PHP

Hàm array_shift() trong PHP

Hàm array_shift() trong PHP

Cách sử dụng array_shift() trong PHP

Hàm mysqli_get_client_stats() trong PHP

Hàm mysqli_get_client_stats() trong PHP

Cách sử dụng mysqli_get_client_stats() trong PHP

Hàm array_unique() trong PHP

Hàm array_unique() trong PHP

Cách sử dụng array_unique() trong PHP

Hàm mysqli_get_client_version() trong PHP

Hàm mysqli_get_client_version() trong PHP

Cách sử dụng mysqli_get_client_version() trong PHP

Hàm array_uintesect() trong PHP

Hàm array_uintesect() trong PHP

Cách sử dụng array_uintesect() trong PHP

Hàm mysqli_get_connection_stats() trong PHP

Hàm mysqli_get_connection_stats() trong PHP

Cách sử dụng mysqli_get_connection_stats() trong PHP

Hàm array_sum() trong PHP

Hàm array_sum() trong PHP

Cách sử dụng array_sum() trong PHP

Hàm mysqli_get_host_info() trong PHP

Hàm mysqli_get_host_info() trong PHP

Cách sử dụng mysqli_get_host_info() trong PHP

Top