Báo Cáo Đồ Án Cơ Sở 2: Xây Dựng Website Luyện Tập và Thi Đấu CTF (Capture The Flag)

Báo cáo đồ án cơ sở 2 về xây dựng website luyện tập và thi đấu CTF Capture the Flag, cung cấp kiến thức và kỹ năng cần thiết cho người tham gia.

Chuyên ngành

Chuyên Ngành Mạng Và An Toàn Thông Tin

Người đăng

Ẩn danh

Thể loại

báo cáo đồ án

2024

57
2
0

Phí lưu trữ

30 Point

Mục lục chi tiết

LỜI CẢM ƠN

1. CHƯƠNG 1: GIỚI THIỆU CHUNG

1.1. Tính cấp thiết của đề tài

1.2. Mục tiêu của đề tài

1.3. Đối tượng và phạm vi nghiên cứu

1.4. Phương pháp nghiên cứu

1.5. Ý nghĩa lý luận và ý nghĩa thực tiễn của đề tài

1.5.1. Ý nghĩa lý luận của đề tài

1.5.2. Ý nghĩa thực tiễn của đề tài

1.6. Khảo sát, xác định yêu cầu

1.6.1. Mục đích

1.6.2. Phạm vi

1.7. Bố cục của đề tài

2. CHƯƠNG 2: CƠ SỞ LÝ LUẬN VÀ THỰC TIỄN

2.1. Giới thiệu Website

2.2. Tổng quan CSS

2.3. Lợi ích của website

2.4. Tổng quan HTML

2.5. Tổng quan về ngôn ngữ lập trình Javascript

2.6. Tổng quan về phpMyAdmin

3. PHÂN TÍCH THIẾT KẾ HỆ THỐNG

3.1. Đặc tả yêu cầu phần mềm (Software Requirements)

3.1.1. Người dùng chưa đăng ký

3.1.2. Người dùng đã đăng ký

3.1.3. Quản trị viên

3.2. Sơ đồ Use-case tổng quát

3.3. Sơ đồ phân rã Use-case cho người dùng

3.4. Sơ đồ phân rã Use-case cho quản trị viên

3.5. Sơ đồ hoạt động tổng quát

3.6. Sơ đồ hoạt động trang đăng nhập/đăng ký

3.7. Sơ đồ hoạt động trang luyện tập

3.8. Sơ đồ hoạt động trang đội thi

3.9. Sơ đồ hoạt động trang thi đấu

3.10. Sơ đồ tuần tự trang đăng nhập/đăng ký

3.11. Sơ đồ tuần tự trang đội thi

3.12. Sơ đồ tuần tự trang luyện tập

3.13. Sơ đồ tuần tự trang thi đấu

4. XÂY DỰNG CHƯƠNG TRÌNH VÀ KIỂM THỬ

4.1. Thiết kế giao diện

4.2. Giao diện website

4.2.1. Giao diện trang chủ

4.2.2. Giao diện đăng nhập/đăng ký

4.2.3. Giao diện luật thi đấu

4.2.4. Giao diện trang danh sách người dùng

4.2.5. Giao diện trang danh sách đội thi

4.2.6. Giao diện trang luyện tập

4.2.7. Giao diện trang tạo/tham gia đội thi

4.2.8. Giao diện trang thi đấu

4.2.9. Giao diện trang nộp cờ

4.2.10. Giao diện trang bảng xếp hạng

4.2.11. Giao diện trang người dùng

4.2.12. Giao diện trang thông tin đội thi

4.2.13. Giao diện trang quản trị viên

4.2.14. Giao diện trang cài đặt

4.3. Kiểm thử và đánh giá

5. KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN

5.1. Kết quả đạt được

5.2. Hướng nghiên cứu phát triển

TÀI LIỆU THAM KHẢO

Tóm tắt

I. Tổng quan về đồ án xây dựng website luyện tập CTF

Đồ án "Xây dựng website luyện tập và thi đấu CTF (Capture The Flag)" nhằm tạo ra một nền tảng học tập và thi đấu cho sinh viên ngành an ninh mạng. Website này không chỉ giúp người dùng nâng cao kỹ năng bảo mật mà còn tạo ra một cộng đồng học tập tích cực. Việc phát triển một website chuyên nghiệp và thân thiện với người dùng là rất cần thiết trong bối cảnh hiện nay.

1.1. Tính cấp thiết của việc xây dựng website CTF

Việc xây dựng website luyện tập CTF là cần thiết để đáp ứng nhu cầu học tập và thi đấu của sinh viên. CTF giúp nâng cao kỹ năng thực hành và tư duy giải quyết vấn đề trong lĩnh vực an ninh mạng.

1.2. Mục tiêu của đồ án xây dựng website CTF

Mục tiêu chính của đồ án là phát triển một nền tảng luyện tập và thi đấu CTF, cung cấp các thử thách đa dạng và hệ thống xếp hạng để khuyến khích người tham gia.

II. Những thách thức trong việc phát triển website CTF

Phát triển một website CTF không chỉ đơn thuần là lập trình mà còn phải đối mặt với nhiều thách thức. Các vấn đề về bảo mật, giao diện người dùng và khả năng mở rộng là những yếu tố quan trọng cần được xem xét.

2.1. Vấn đề bảo mật thông tin trên website CTF

Bảo mật thông tin là một trong những thách thức lớn nhất khi xây dựng website CTF. Cần áp dụng các biện pháp bảo mật để bảo vệ dữ liệu người dùng và ngăn chặn các cuộc tấn công mạng.

2.2. Thiết kế giao diện người dùng thân thiện

Giao diện người dùng cần được thiết kế đơn giản và dễ sử dụng để người dùng có thể dễ dàng tương tác với các tính năng của website. Điều này giúp nâng cao trải nghiệm người dùng.

III. Phương pháp xây dựng website luyện tập CTF hiệu quả

Để xây dựng một website CTF hiệu quả, cần áp dụng các phương pháp nghiên cứu và phát triển hiện đại. Việc phân tích yêu cầu và thực hiện kiểm thử là rất quan trọng.

3.1. Phân tích yêu cầu người dùng

Phân tích yêu cầu người dùng giúp xác định các tính năng cần thiết cho website. Điều này bao gồm việc khảo sát ý kiến người dùng và nghiên cứu các website CTF hiện có.

3.2. Kiểm thử và đánh giá hiệu suất website

Kiểm thử là bước quan trọng để đảm bảo website hoạt động ổn định và đáp ứng nhu cầu người dùng. Cần thực hiện kiểm thử với nhóm người dùng thử nghiệm để thu thập phản hồi.

IV. Ứng dụng thực tiễn của website luyện tập CTF

Website luyện tập CTF không chỉ là một công cụ học tập mà còn là nền tảng để tổ chức các cuộc thi an ninh mạng. Điều này giúp phát hiện và bồi dưỡng nhân tài trong lĩnh vực an ninh mạng.

4.1. Tổ chức các cuộc thi CTF tại trường học

Website có thể được sử dụng để tổ chức các cuộc thi CTF cho sinh viên, từ đó khuyến khích họ tham gia và nâng cao kỹ năng bảo mật.

4.2. Góp phần nâng cao nhận thức về an ninh mạng

Website cũng giúp nâng cao nhận thức về an ninh mạng cho người dùng phổ thông, từ đó giảm thiểu rủi ro từ các cuộc tấn công mạng.

V. Kết luận và hướng phát triển tương lai của website CTF

Đồ án xây dựng website luyện tập CTF đã đạt được nhiều kết quả tích cực. Tuy nhiên, cần tiếp tục phát triển và cải tiến để đáp ứng nhu cầu ngày càng cao của người dùng.

5.1. Kết quả đạt được từ đồ án

Website đã hoàn thành với các tính năng cơ bản, giúp người dùng luyện tập và thi đấu CTF một cách hiệu quả.

5.2. Hướng nghiên cứu và phát triển trong tương lai

Cần nghiên cứu thêm về các công nghệ mới và cải tiến tính năng của website để nâng cao trải nghiệm người dùng và mở rộng quy mô hoạt động.

10/07/2025
Báo cáo đồ án cơ sở 2 đề tài xây dựng website luyện tập và thi đấu ctf capture the flag

Trích đoạn nội dung tài liệu

Chương 1: Giới thiệu chung - Chương 2: Cơ sở lý thuyết - Chương 3: Phân tích và thiết kế hệ thống - Chương 4: Xây dựng website và kiểm thử - Chương 5: Kết luận và hướng phát triển Trần Viết Hoàng – 23NS032 – Website luyện tập và thi đấu CTF (Capture The Flag) 14 Trần Viết Hoàng – 23NS032 – Website luyện tập và thi đấu CTF (Capture The Flag) CHƯƠNG 2.1 Cơ sở lý luận và thực tiễn 2.1 Giới thiệu Website [1] - Website hay còn gọi là trang web, là một tập hợp trang web, thường chỉ nằm trong một tên miền hoặc tên miền phụ trên World Wide Web của Internet. Một trang web là tập tin HTML hoặc XHTML có thể truy nhập dùng giao thức HTTP. Trang mạng có thể được xây dựng từ các tệp tin HTML (trang mạng tĩnh) hoặc vận hành bằng các CMS chạy trên máy chủ (trang mạng động). - Trang mạng có thể được xây dựng bằng nhiều ngôn ngữ lập trình khác nhau (PHP, Java,.

- Để một website hoạt động cần 3 yếu tố:  Cần có tên miền (domain)  Nơi lưu trữ website (server)  Nội dung các trang web hoặc cơ sở dữ liệu thông tin 2.2 Tổng quan CSS [2] - CSS là chữ viết tắt của Cascading Style Sheets, nó là một ngôn ngữ được sử dụng để tìm và định dạng lại các phần tử được tạo ra bởi các ngôn ngữ đánh dấu (ví dụ như HTML). - Có thể hiểu đơn giản rằng, nếu HTML đóng vai trò định dạng các phần tử trên website như việc tạo ra các đoạn văn bản, các tiêu đề, bảng,…thì CSS sẽ giúp chúng ta có thể thêm một chút “phong cách” vào các phần tử HTML đó như đổi màu sắc trang, đổi màu chữ, thay đổi cấu trúc,…rất nhiều. Trần Viết Hoàng – 23NS032 – Website luyện tập và thi đấu CTF (Capture The Flag) 15 Trần Viết Hoàng – 23NS032 – Website luyện tập và thi đấu CTF (Capture The Flag) Hình CƠ SỞ LÝ THUYẾT.3 Lợi ích của website - Tăng khả năng tiếp cận khách hàng. - Tăng phạm vi khách hàng.

- Tăng tính tương tác. - Xúc tiến kinh doanh hiệu quả. - Dịch vụ khách hàng hiệu quả. - Nền tảng cho sản phẩm bán hàng.

- Xây dựng thương hiệu. - Xác định khách hàng tiềm năng. - Dễ dàng tuyển dụng. - Tăng năng lực cạnh tranh.

- Cập nhật thông tin một cách nhanh chóng. - Dễ dàng lấy ý kiến phản hồi từ khách hàng. - Phân tích sản phẩm.4 Tổng quan HTML [3] - HTML (viết tắt của từ Hypertext Markup Language, hay là "Ngôn ngữ Đánh dấu Siêu văn bản") là một ngôn ngữ đánh dấu được thiết kế ra để tạo nên các trang web trên World Wide Web. Cùng với CSS và JavaScript, HTML là một trong những ngôn ngữ quan trọng trong lĩnh vực thiết kế website.

Trần Viết Hoàng – 23NS032 – Website luyện tập và thi đấu CTF (Capture The Flag) 16 Trần Viết Hoàng – 23NS032 – Website luyện tập và thi đấu CTF (Capture The Flag) - Hiện nay, phiên bản mới nhất của ngôn ngữ này là HTML5. Hình CƠ SỞ LÝ THUYẾT.5 Tổng quan về ngôn ngữ lập trình Javascript [4] - JavaScript là một ngôn ngữ lập trình dựa trên nguyên mẫu với cú pháp phát triển từ C. Giống như C, JavaScript có khái niệm từ khoá, do đó, JavaScript gần như không thể được mở rộng.Cũng giống như C, JavaScript không có bộ xử lý xuất/nhập (input/output) riêng. - Thư viện JavaScript nổi tiếng:  Bộ khung Prototype kết hợp với thư viện Scriptaculous.

 Thư viện jQuery, tiết kiệm thời gian viết mã lệnh cũng như cung cấp các hàm tương tác với DOM trên các trình duyệt khác nhau.  Nodejs, hệ thống chương trình giúp chạy JavaScript ngoài trình duyệt. Hình CƠ SỞ LÝ THUYẾT.3 Logo JavaScript Trần Viết Hoàng – 23NS032 – Website luyện tập và thi đấu CTF (Capture The Flag) 17 Trần Viết Hoàng – 23NS032 – Website luyện tập và thi đấu CTF (Capture The Flag) 2.6 Tổng quan về phpMyAdmin - phpMyAdmin là một công cụ quản trị cơ sở dữ liệu MySQL được phát triển dành riêng cho môi trường web. Dưới đây là một tổng quan về phpMyAdmin:  Quản lý Cơ Sở Dữ Liệu MySQL:  phpMyAdmin cung cấp giao diện web đồ họa cho việc quản lý cơ sở dữ liệu MySQL một cách dễ dàng và thuận tiện.

 Nó cho phép người quản trị cơ sở dữ liệu thực hiện các tác vụ như tạo cơ sở dữ liệu mới, bảng, chỉnh sửa cấu trúc bảng, và thêm/xóa dữ liệu.  Hỗ Trợ Nhiều Chức Năng:  phpMyAdmin cung cấp một loạt các chức năng quản trị cơ sở dữ liệu như quản lý người dùng và quyền truy cập, sao lưu và khôi phục cơ sở dữ liệu, thực thi các truy vấn SQL, và nhiều tính năng khác.  Nó cũng cung cấp một trình soạn thảo SQL tích hợp cho phép người dùng tạo và chỉnh sửa các truy vấn một cách thuận tiện.  Giao Diện Dễ Sử Dụng:  Giao diện của phpMyAdmin được thiết kế đơn giản và dễ hiểu, giúp người dùng dễ dàng thực hiện các tác vụ quản trị cơ sở dữ liệu mà không cần kiến thức chuyên sâu về SQL hoặc quản trị hệ thống cơ sở dữ liệu.

 Đa Nền Tảng và Mã Nguồn Mở:  phpMyAdmin là một ứng dụng web mã nguồn mở và hoạt động trên nhiều nền tảng hệ điều hành như Windows, macOS và Linux. Trần Viết Hoàng – 23NS032 – Website luyện tập và thi đấu CTF (Capture The Flag) 18 Trần Viết Hoàng – 23NS032 – Website luyện tập và thi đấu CTF (Capture The Flag)  Người dùng có thể tải và cài đặt phpMyAdmin một cách miễn phí từ trang web chính thức hoặc sử dụng các gói cài đặt có sẵn trên các hệ điều hành.  Hỗ Trợ và Cộng Đồng:  phpMyAdmin có một cộng đồng lớn và tích cực, với nhiều tài liệu, hướng dẫn và diễn đàn trực tuyến để giúp người dùng giải quyết các vấn đề và học hỏi từ nhau. - Tóm lại, phpMyAdmin là một công cụ quản trị cơ sở dữ liệu MySQL mạnh mẽ và linh hoạt, giúp người dùng quản lý và tương tác với cơ sở dữ liệu MySQL một cách dễ dàng thông qua giao diện web.

Hình CƠ SỞ LÝ THUYẾT.7 Tổng quan về PHP - PHP (Hypertext Preprocessor) là một ngôn ngữ lập trình mã nguồn mở được sử dụng chủ yếu cho việc phát triển ứng dụng web. Dưới đây là một tổng quan về PHP:  Mục Đích và Ứng Dụng:  PHP được sử dụng chủ yếu để phát triển các trang web động và ứng dụng web.  Nó có thể được sử dụng để tạo các trang web tĩnh, các hệ thống quản lý nội dung (CMS) như WordPress, Joomla, và Drupal, cũng như các ứng dụng web phức tạp như cửa hàng trực tuyến, diễn đàn, và hệ thống quản lý dữ liệu.  Cú Pháp và Cấu Trúc: Trần Viết Hoàng – 23NS032 – Website luyện tập và thi đấu CTF (Capture The Flag) 19 Trần Viết Hoàng – 23NS032 – Website luyện tập và thi đấu CTF (Capture The Flag)  PHP được nhúng trực tiếp vào mã HTML, cho phép tạo ra các trang web động một cách dễ dàng.

 Cú pháp của PHP tương tự như các ngôn ngữ lập trình khác như C, Java, và JavaScript, giúp lập trình viên dễ dàng học và sử dụng.  Tính Linh Hoạt và Mở Rộng:  PHP hỗ trợ nhiều cơ sở dữ liệu phổ biến như MySQL, PostgreSQL, và SQLite, cho phép tương tác dễ dàng với dữ liệu.  Nó có thể chạy trên nhiều hệ điều hành như Windows, macOS, và Linux.  Cộng đồng PHP rất lớn và phong phú, cung cấp hàng nghìn thư viện và framework để giúp phát triển ứng dụng một cách nhanh chóng và hiệu quả.

 Tính Bảo Mật:  PHP được cập nhật và duy trì đều đặn để bảo vệ khỏi các lỗ hổng bảo mật mới.  Có các phương pháp bảo mật như mã hóa và kiểm tra đầu vào để đảm bảo an toàn cho ứng dụng web.  Hỗ Trợ Tốt từ Cộng Đồng:  Cộng đồng PHP rất lớn và năng động, với nhiều tài liệu, hướng dẫn, và diễn đàn trực tuyến giúp lập trình viên giải quyết các vấn đề và học hỏi từ nhau. - Tóm lại, PHP là một ngôn ngữ lập trình mạnh mẽ và linh hoạt, được sử dụng rộng rãi trong việc phát triển các ứng dụng web động.

Điều này là do tính linh hoạt, dễ sử dụng, và tính mở rộng của nó, cũng như sự hỗ trợ mạnh mẽ từ cộng đồng lập trình viên PHP. Trần Viết Hoàng – 23NS032 – Website luyện tập và thi đấu CTF (Capture The Flag) 20 Trần Viết Hoàng – 23NS032 – Website luyện tập và thi đấu CTF (Capture The Flag) Hình CƠ SỞ LÝ THUYẾT.8 Tổng quan về MySQL - MySQL là một hệ quản trị cơ sở dữ liệu mã nguồn mở phổ biến được sử dụng rộng rãi trên toàn thế giới. Dưới đây là một tổng quan về MySQL:  Mục Đích và Ứng Dụng:  MySQL được sử dụng chủ yếu để lưu trữ và quản lý dữ liệu trong các ứng dụng web và hệ thống thông tin.  Nó thích hợp cho các ứng dụng như trang web, hệ thống quản lý nội dung (CMS), cửa hàng trực tuyến, diễn đàn, ứng dụng di động và nhiều ứng dụng khác.

 Đặc Điểm Kỹ Thuật:  MySQL là một hệ quản trị cơ sở dữ liệu quan hệ (RDBMS) được xây dựng dựa trên ngôn ngữ SQL (Structured Query Language).  Nó hỗ trợ nhiều tính năng quan trọng như các loại dữ liệu phong phú, giao dịch ACID (Atomicity, Consistency, Isolation, Durability), truy cập đa người dùng và nhiều hơn nữa.  Hiệu Suất và Khả Năng Mở Rộng:  MySQL được biết đến với hiệu suất cao và khả năng mở rộng tốt, cho phép xử lý hàng trăm, thậm chí hàng nghìn truy vấn mỗi giây.  Nó hỗ trợ các cấu trúc dữ liệu và chỉ mục phức tạp, cùng với các kỹ thuật tối ưu hóa để đảm bảo hiệu suất tối ưu.

 Hỗ Trợ Đa Nền Tảng:  MySQL hoạt động trên nhiều hệ điều hành phổ biến như Windows, macOS và các bản phân phối của Linux. Trần Viết Hoàng – 23NS032 – Website luyện tập và thi đấu CTF (Capture The Flag) 21 Trần Viết Hoàng – 23NS032 – Website luyện tập và thi đấu CTF (Capture The Flag)  Điều này làm cho MySQL trở thành lựa chọn phù hợp cho nhiều môi trường phát triển ứng dụng khác nhau.  Mã Nguồn Mở và Cộng Đồng:  MySQL là một dự án mã nguồn mở, cho phép người dùng tải và sử dụng miễn phí.  Có một cộng đồng lớn và tích cực của các lập trình viên và chuyên gia trong lĩnh vực cơ sở dữ liệu, cung cấp hỗ trợ, tài liệu và các nguồn tài nguyên phong phú.

Nội dung được bảo vệ bản quyền — Tải xuống đầy đủ