Bối cảnh và vấn đề nghiên cứu
Theo thống kê từ Liên minh Viễn thông Quốc tế (ITU), tính đến năm 2023, số lượng người sử dụng Internet trên toàn cầu đã đạt mốc 5,4 tỷ người, tương đương 67% dân số thế giới. Sự phát triển mạnh mẽ của mạng lưới Internet đã biến các ứng dụng web thành công cụ truyền thông và giao dịch thương mại thiết yếu. Tuy nhiên, sự gia tăng nhanh chóng này cũng kéo theo nguy cơ mất an toàn thông tin nghiêm trọng. Báo cáo của đơn vị nghiên cứu mối đe dọa Qualys chỉ ra rằng tính đến cuối năm 2023, đã có 26.477 lỗ hổng bảo mật (CVE) được công bố, tăng hơn 1.500 lỗ hổng so với năm 2022; trong đó, 32,5% trong số 206 lỗ hổng mức độ rủi ro cao (High-Risk) nằm trong cơ sở hạ tầng mạng và ứng dụng web. Thống kê của tổ chức Astra cũng ghi nhận trung bình mỗi ngày có khoảng 30.000 trang web bị tấn công trên toàn cầu, với 43% nhắm vào các doanh nghiệp quy mô nhỏ.
Nguyên nhân chính dẫn đến các lỗ hổng bảo mật trong ứng dụng web xuất phát từ việc xác thực và kiểm soát dữ liệu đầu vào không đúng cách của các nhà phát triển. Báo cáo "Thực trạng bảo mật ứng dụng web 2023" của OPSWAT nhấn mạnh mối lo ngại hàng đầu hiện nay là nguy cơ vi phạm dữ liệu qua chức năng tải tệp lên (File Upload) không an toàn, cùng với sự gia tăng độ phức tạp của các ứng dụng phân tán, dịch vụ vi mô (Microservices) và điện toán đám mây. Đồng thời, báo cáo chi phí vi phạm dữ liệu năm 2023 của IBM Security thực hiện trên 553 tổ chức tại 16 quốc gia cho thấy chi phí trung bình của một vụ rò rỉ dữ liệu đã chạm mức 4,45 triệu USD (tăng 100.000 USD so với năm 2022). Do đó, kiểm thử xâm nhập (Penetration Testing) là giải pháp bắt buộc trước khi đưa ứng dụng web vào vận hành thực tế.
Mục tiêu và nhiệm vụ nghiên cứu của đồ án bao gồm:
- Tổng hợp cơ sở lý luận về kiểm thử xâm nhập ứng dụng web: kiến trúc hệ thống web, quy trình thực hiện, các tiêu chuẩn và phương pháp luận chuyên ngành.
- Khảo sát, đánh giá và so sánh các công cụ kiểm thử xâm nhập web phổ biến hiện nay nhằm làm rõ ưu điểm và phạm vi ứng dụng của bộ công cụ Burp Suite.
- Nghiên cứu cơ chế tấn công và kỹ thuật kiểm thử các nhóm lỗ hổng ứng dụng web phổ biến theo tiêu chuẩn OWASP Top 10 (2021), tập trung vào SQL Injection, Cross-Site Scripting (XSS), File Upload không an toàn và Path Traversal.
- Triển khai thực nghiệm kiểm thử xâm nhập trên một ứng dụng web thương mại điện tử cụ thể (ứng dụng web bán sách), phân tích kết quả và đề xuất các biện pháp khắc phục mã nguồn an toàn.
Đối tượng nghiên cứu của đề tài là các kỹ thuật kiểm thử xâm nhập ứng dụng web và bộ công cụ Burp Suite. Phạm vi nghiên cứu giới hạn trong môi trường kiểm thử thực nghiệm đối với ứng dụng web bán sách (webbansach) triển khai trên máy chủ cục bộ (localhost).
Cơ sở lý thuyết và phương pháp
Khung lý thuyết và các tiêu chuẩn kiểm thử
Nghiên cứu dựa trên các tiêu chuẩn và phương pháp luận kiểm thử xâm nhập chuẩn hóa quốc tế:
- OWASP (Open Web Application Security Project): Bao gồm danh mục OWASP Top 10 (2021) phân loại 10 rủi ro bảo mật ứng dụng web nguy hiểm nhất và hướng dẫn kiểm thử toàn diện OWASP Testing Guide (OTG) phiên bản cập nhật với 11 nhóm công việc (Information Gathering, Configuration Management, Identity Management, Authentication, Authorization, Session Management, Input Validation, Error Handling, Weak Cryptography, Business Logic, Client-Side) gồm tổng cộng 87 checklist.
- OSSTMM (Open Source Security Testing Methodology Manual): Khung kiểm thử khoa học đánh giá an ninh vận hành (OpSec) thông qua 5 kênh: Human Security (con người), Physical Security (vật lý), Wireless Communications (không dây), Telecommunications (viễn thông), và Data Network (mạng dữ liệu).
- PTES (Penetration Testing Execution Standard): Quy chuẩn thực hiện kiểm thử gồm 7 giai đoạn: Tương tác trước kiểm thử, Thu thập thông tin tình báo, Mô hình hóa rủi ro, Phân tích lỗ hổng, Khai thác, Sau khai thác, và Báo cáo.
- PTF (Penetration Testing Framework): Framework tự động hóa quá trình kiểm thử và cài đặt công cụ trên nền tảng Linux dựa trên cấu trúc của PTES.
- ISSAF (Information Systems Security Assessment Framework): Hướng dẫn đánh giá an ninh hệ thống thông tin chuyên sâu với hơn 1.200 trang tài liệu kỹ thuật.
So sánh các phương pháp kiểm thử
| Phương pháp |
Ưu điểm |
Hạn chế |
| OWASP |
Tập trung chuyên sâu vào bảo mật ứng dụng web; OWASP Top 10 rõ ràng; cộng đồng hoạt động tích cực, cập nhật thường xuyên. |
Phạm vi chủ yếu giới hạn ở tầng ứng dụng web, hạn chế khi đánh giá tổng thể hạ tầng mạng phức tạp. |
| OSSTMM |
Cung cấp phương pháp khoa học, đánh giá toàn diện đa chiều (vật lý, con người, mạng dữ liệu, viễn thông). |
Đòi hỏi nhiều nguồn lực, thời gian và chi phí do phạm vi kiểm thử rất rộng. |
| PTES |
Cấu trúc 7 giai đoạn rõ ràng; chuẩn hóa từ khâu tương tác khách hàng đến báo cáo; được công nhận rộng rãi. |
Yêu cầu người thực hiện phải có kiến thức chuyên sâu về quy trình và kỹ thuật kiểm thử. |
| PTF |
Hỗ trợ tự động hóa cao; module hóa công cụ linh hoạt theo từng danh mục kiểm thử. |
Đòi hỏi kỹ năng tùy biến và quản trị công cụ trên môi trường hệ điều hành Linux. |
| ISSAF |
Hướng dẫn chi tiết từng bước, kết hợp chặt chẽ giữa kỹ thuật kiểm thử và quản lý tuân thủ pháp luật. |
Khối lượng tài liệu lớn, mức độ cập nhật và hỗ trợ từ cộng đồng hiện nay không cao bằng OWASP hay PTES. |
Đánh giá các công cụ kiểm thử xâm nhập
| Công cụ |
Tính năng chính |
Tính tương thích |
Độ phổ biến |
| Nmap |
Quét mạng và cổng dịch vụ (Port scanning) |
Đa nền tảng |
Cao, rộng rãi trong mạng và bảo mật |
| Wireshark |
Bắt và phân tích gói tin mạng |
Đa nền tảng, nhiều giao thức |
Cao, tiêu chuẩn trong phân tích mạng |
| Metasploit |
Khung khai thác lỗ hổng (Exploitation framework) |
Tương thích nhiều hệ điều hành |
Cao, phổ biến trong giới pentester |
| Nessus |
Quét và đánh giá lỗ hổng bảo mật hệ thống |
Hỗ trợ nhiều hệ điều hành |
Cao, công cụ thương mại tiêu chuẩn |
| OpenVAS |
Quét lỗ hổng mã nguồn mở |
Mã nguồn mở, đa nền tảng |
Trung bình, phổ biến trong quản trị mạng |
| Acunetix |
Quét và phân tích tự động lỗ hổng web |
Đa nền tảng, hỗ trợ nhiều công nghệ web |
Trung bình trong cộng đồng bảo mật |
| Burp Suite |
Kiểm thử, phân tích và chặn bắt proxy web |
Tương thích nhiều trình duyệt và OS |
Rất cao, công cụ hàng đầu cho web pentest |
| W3af |
Quét lỗ hổng ứng dụng web mã nguồn mở |
Mã nguồn mở, đa nền tảng |
Thấp, cộng đồng hỗ trợ nhỏ |
| Astra |
Kiểm thử bảo mật web tự động |
Hỗ trợ nhiều dạng tấn công |
Thấp, chưa được áp dụng rộng rãi |
| OWASP ZAP |
Kiểm thử bảo mật ứng dụng web miễn phí |
Đa nền tảng, hỗ trợ nhiều giao thức |
Trung bình, phổ biến trong cộng đồng mã nguồn mở |
Bảng biến phục vụ phân tích mã nguồn (White-box testing)
| Ngôn ngữ |
Biến nhận dữ liệu GET |
Biến nhận dữ liệu POST |
Biến/Hàm tải tệp & Phiên |
| PHP |
$_GET |
$_POST |
$_FILES, $_REQUEST, $_COOKIE |
| ASP |
Request.QueryString |
Request.Form |
Server.CreateObject |
| JSP/Servlet |
doGet, request.getParameter |
doPost, request.getParameter |
request.getPart, request.getCookies |
Dấu phân cách thư mục theo hệ điều hành trong kiểm thử Path Traversal
| Hệ điều hành |
Thư mục gốc (Root) |
Dấu phân cách thư mục (Directory Separator) |
| Unix / Linux |
/ |
/ |
| Windows |
<ký tự ổ đĩa>:\ (Ví dụ: C:\) |
\ hoặc / |
| macOS |
<ký tự ổ đĩa>/ |
/ |
Thiết kế và triển khai thực nghiệm
Nghiên cứu xây dựng một hệ thống thực nghiệm trên máy chủ phát triển cục bộ nhằm mô phỏng toàn diện quy trình kiểm thử xâm nhập thực tế:
- Kiến trúc hệ thống thử nghiệm: Ứng dụng web bán sách (
webbansach) hoạt động theo mô hình khách - chủ 3 lớp (3-tier architecture):
- Lớp trình diễn (Presentation Layer): Giao diện người dùng trên nền tảng HTML, CSS, JavaScript, chạy trên trình duyệt web.
- Lớp nghiệp vụ (Business Layer): Mã nguồn xử lý logic phía máy chủ viết bằng ngôn ngữ PHP, chạy trên nền máy chủ web Apache.
- Lớp dữ liệu (Data Layer): Hệ quản trị cơ sở dữ liệu quan hệ MySQL với cơ sở dữ liệu
website.
- Môi trường công cụ: Bộ công cụ Burp Suite Professional/Community (phiên bản v2022.11) cài đặt trên hệ điều hành Kali Linux/Windows, hoạt động như một máy chủ proxy trung gian tại địa chỉ
127.0.0.1:8080.
- Quy trình triển khai thực nghiệm:
- Pha 1 - Lập kế hoạch và quét tự động: Sử dụng tính năng Passive Crawl và Active Scanner trên Burp Suite để xác lập sơ đồ trang web (Site map), liệt kê danh sách endpoint, phát hiện các điểm yếu cấu hình ban đầu (như lộ thông tin email, thiếu cờ HttpOnly/Secure trên cookie, phương thức HTTP TRACE được bật).
- Pha 2 - Khai thác chuyên sâu (Exploitation): Sử dụng Burp Proxy để bắt giữ gói tin, kết hợp Burp Repeater để kiểm thử và tinh chỉnh payload thủ công nhắm vào 3 kịch bản: SQL Injection (trích xuất cấu trúc bảng và tài khoản người dùng), File Upload (tải tệp mã thực thi phía máy chủ bằng cách vượt qua kiểm tra Content-Type và phần mở rộng), và Lỗi logic nghiệp vụ (thay đổi giá trị tham số số lượng sản phẩm âm để thao túng tổng tiền giỏ hàng).
- Pha 3 - Báo cáo và đề xuất giải pháp: Ghi nhận chi tiết các bước khai thác, phân tích các đoạn mã nguồn gốc gây ra lỗ hổng và viết lại các đoạn mã đã được vá lỗi bảo mật.
Nội dung chính theo từng chương
CHƯƠNG 1: TỔNG QUAN VỀ KIỂM THỬ XÂM NHẬP WEB
Chương 1 khái quát về cấu trúc của ứng dụng web, phân tích nguyên lý hoạt động của giao thức HTTP/HTTPS với các đặc điểm không kết nối (Connectionless), độc lập thông tin truyền (Media independent) và không có trạng thái (Stateless). Kiến trúc ứng dụng web hiện đại được phân tích theo 3 lớp: Lớp trình diễn (Presentation Layer), Lớp logic nghiệp vụ (Business Layer) và Lớp dữ liệu (Data Layer), tương tác qua các máy chủ Web Server, Application Server và Database Server.
Nội dung chương trình bày thực trạng an ninh ứng dụng web qua các số liệu thống kê từ Qualys, Astra, OPSWAT và IBM Security. Tiếp đó, tác giả định nghĩa kiểm thử xâm nhập (pentest), phân loại 3 hạng mục đánh giá (cơ sở hạ tầng mạng, hệ thống máy chủ, ứng dụng web) và 3 hình thức tiếp cận: Hộp đen (Black-box), Hộp trắng (White-box), Hộp xám (Gray-box). Quy trình kiểm thử chuẩn hóa gồm 3 pha:
- Pha lập kế hoạch (Trước kiểm thử): Xác định mục tiêu, phạm vi, mức độ tiếp cận, thu thập thông tin công nghệ (ngôn ngữ, máy chủ web, CSDL, hệ điều hành).
- Pha tấn công/khai thác (Trong kiểm thử): Quét lỗ hổng, phân tích vector tấn công, thực hiện khai thác leo thang đặc quyền và ghi nhận bằng chứng.
- Pha báo cáo (Sau kiểm thử): Lập báo cáo kỹ thuật, đề xuất giải pháp khắc phục, kiểm tra lại (re-test) sau khi vá lỗi và dọn dẹp cấu hình proxy.
Chương 1 kết thúc bằng việc thiết lập các tiêu chí đánh giá (Tính năng chính, Tính tương thích, Độ phổ biến) và so sánh 10 công cụ kiểm thử phổ biến, làm cơ sở lựa chọn Burp Suite làm công cụ nghiên cứu chính.
CHƯƠNG 2: CÁC KỸ THUẬT KIỂM THỬ XÂM NHẬP WEB
Chương 2 đi sâu vào 5 phương pháp luận và tiêu chuẩn bảo mật: OWASP (bao gồm OTG với 11 mục, 87 checklist), OSSTMM (5 kênh), PTES (7 giai đoạn), PTF và ISSAF (hơn 1.200 trang), đồng thời tổng hợp bảng so sánh ưu - nhược điểm của từng phương pháp.
Tác giả phân tích chi tiết danh mục OWASP Top 10 (2021):
A01:2021 - Broken Access Control (Lỗi kiểm soát truy cập bị phá vỡ, điển hình là IDOR).
A02:2021 - Cryptographic Failures (Lỗi mật mã do thuật toán yếu hoặc quản lý khóa không an toàn).
A03:2021 - Injection (Lỗi chèn mã như SQLi, NoSQLi, Command Injection).
A04:2021 - Insecure Design (Lỗi thiết kế không bảo mật).
A05:2021 - Security Misconfiguration (Lỗi cấu hình bảo mật sai).
A06:2021 - Vulnerable and Outdated Components (Lỗi từ các thành phần lỗi thời, chưa vá).
A07:2021 - Identification and Authentication Failures (Lỗi định danh và xác thực).
A08:2021 - Software and Data Integrity Failures (Lỗi toàn vẹn dữ liệu và phần mềm, rủi ro trong pipeline CI/CD).
A09:2021 - Security Logging and Monitoring Failures (Lỗi ghi nhật ký và giám sát an ninh).
A10:2021 - Server-Side Request Forgery - SSRF (Lỗi giả mạo yêu cầu phía máy chủ).
Chương 2 dành dung lượng lớn để nghiên cứu cơ chế và kỹ thuật kiểm thử 4 nhóm lỗ hổng cốt lõi:
- SQL Injection: Phân loại thành In-band (Error-based, UNION-based), Blind (Boolean-based, Time-based), Out-of-band, và Second-order SQLi. Kỹ thuật phát hiện bao gồm chèn ký tự đặc biệt, kiểm tra thông báo lỗi CSDL và kỹ thuật khai thác
UNION SELECT.
- Cross-Site Scripting (XSS): Phân tích Stored XSS, Reflected XSS và DOM-based XSS. Trình bày quy trình 3 giai đoạn kiểm thử hộp đen (tìm điểm nhập liệu, phân tích mã HTML phản hồi, thử payload) và kiểm thử hộp xám/hộp trắng thông qua việc rà soát các biến đầu vào trong PHP (
$_GET, $_POST, $_REQUEST), ASP (Request.QueryString, Request.Form), và JSP (request.getParameter).
- File Upload Vulnerabilities: Phân tích rủi ro khi máy chủ không kiểm tra đầy đủ phần mở rộng tệp, kiểu MIME (
Content-Type), kích thước và nội dung tệp, cho phép tải lên web shell để chiếm quyền điều khiển máy chủ.
- Path Traversal: Phân tích cơ chế ký tự
../ (dot-dot-slash) để duyệt thư mục cha và truy cập các tệp nhạy cảm (như /etc/passwd trên Linux hoặc các tệp cấu hình hệ thống), kết hợp bảng đối chiếu dấu phân cách thư mục trên Unix, Windows và macOS.
CHƯƠNG 3: BỘ CÔNG CỤ BURP SUITE
Chương 3 trình bày chi tiết về bộ công cụ Burp Suite do công ty PortSwigger phát triển (sáng lập bởi Dafydd Stuttard). Tác giả nêu rõ yêu cầu hệ thống:
- Phần cứng: Tối thiểu 2 CPU core, RAM 4GB (cho tác vụ cơ bản); khuyến nghị 2 CPU core, RAM 16GB (cho mục đích chung); nâng cao 4 CPU core, RAM 32GB (cho các đợt quét quy mô lớn); ổ cứng trống tối thiểu 1GB để cài đặt và 2GB cho mỗi tệp dự án.
- Môi trường: Hỗ trợ Windows (64-bit), Linux (Intel & ARM 64-bit), macOS (Intel & Apple Silicon), yêu cầu cài đặt môi trường thực thi Java Runtime Environment (JRE).
Chương 3 phân tích nguyên lý và giao diện hoạt động của các module chính trong Burp Suite:
- Dashboard: Quản lý các tác vụ tự động (Automated Tasks), bao gồm Live passive crawl, Live audit, theo dõi nhật ký sự kiện (Event log) và bảng điều khiển tổng hợp các vấn đề bảo mật được phát hiện (Issue activity).
- Target (Site map & Scope): Thiết lập phạm vi kiểm thử (Scope) và xây dựng sơ đồ phân cấp cấu trúc website mục tiêu, hiển thị chi tiết các yêu cầu (Request), phản hồi (Response) và danh sách lỗ hổng tương ứng.
- Proxy: Hoạt động như máy chủ trung gian (Intermediary Proxy) giữa trình duyệt và máy chủ web. Bao gồm tính năng Intercept (chặn bắt, xem, chỉnh sửa hoặc hủy bỏ gói tin HTTP/HTTPS trước khi chuyển tiếp), HTTP history (lưu trữ toàn bộ lưu lượng đã đi qua proxy kèm thông số phương thức, URL, mã phản hồi, kích thước, kiểu MIME), và WebSockets history (theo dõi giao tiếp WebSocket hai chiều).
- Repeater: Công cụ cho phép chỉnh sửa thủ công các tham số trong yêu cầu HTTP và gửi lại nhiều lần nhằm kiểm tra phản hồi chi tiết từ máy chủ.
- Intruder: Công cụ tự động hóa việc chèn các danh sách payload vào các vị trí tham số xác định trên yêu cầu HTTP để brute-force thông tin đăng nhập hoặc dò quét lỗ hổng.
CHƯƠNG 4: THỰC NGHIỆM SỬ DỤNG BURP SUITE ĐỂ KIỂM THỬ XÂM NHẬP WEB
Chương 4 mô tả toàn bộ quá trình thực nghiệm kiểm thử trên ứng dụng web bán sách (webbansach), được chia thành 3 giai đoạn:
- Thiết lập môi trường và lập kế hoạch: Cài đặt ứng dụng trên localhost, cấu hình Burp Proxy, sử dụng trình duyệt Burp Browser để thu thập đường dẫn và tài nguyên.
- Tiến hành quét tự động và phát hiện lỗ hổng ban đầu: Trình quét của Burp Suite phát hiện một số điểm yếu như Reflected XSS, Cookie thiếu thuộc tính
HttpOnly và Secure, hiển thị danh sách thư mục (Directory listing) và lộ thông tin địa chỉ email.
- Khai thác thủ công chuyên sâu:
- Khai thác SQL Injection: Tại chức năng tìm kiếm sản phẩm, tác giả phát hiện câu truy vấn gốc bị chèn mã. Sử dụng kỹ thuật UNION-based SQLi:
- Thử số lượng cột với mệnh đề
ORDER BY: Thử 3 cột bị lỗi, xác định số cột chính xác của câu truy vấn là 4 cột.
- Xác định phiên bản CSDL và tên cơ sở dữ liệu hiện tại là
website.
- Trích xuất danh sách các bảng trong CSDL
website, phát hiện bảng accounts.
- Trích xuất tên các cột trong bảng
accounts, lấy được danh sách dữ liệu nhạy cảm gồm các giá trị USERNAME và PASSWORD.
- Khai thác File Upload: Ứng dụng có chức năng chỉ cho phép tải tệp hình ảnh. Tác giả sử dụng Burp Proxy để chặn gói tin yêu cầu tải lên, sửa đổi giá trị
Content-Type và tên tệp chứa mã độc (payload), tải tệp lên máy chủ thành công và truy cập tệp từ đường dẫn URL để thực thi mã từ xa.
- Khai thác Lỗi Logic Nghiệp vụ (Business Logic Flaw): Trong chức năng giỏ hàng và đặt hàng, tác giả sử dụng Burp Proxy để chặn request thêm sản phẩm, thay đổi tham số số lượng sản phẩm thành giá trị âm (ví dụ: số lượng âm dẫn đến tổng giá tiền bị âm). Khi thêm sản phẩm khác có giá trị dương vào, đơn hàng được xử lý với tổng chi phí bị giảm trừ bất hợp pháp và đặt hàng thành công.
- Báo cáo và đề xuất giải pháp khắc phục: Tác giả đưa ra các đoạn mã nguồn gốc và mã nguồn đã được sửa đổi:
- Khắc phục SQLi: Chuyển từ việc nối chuỗi truy vấn trực tiếp sang sử dụng Prepared Statements và tham số hóa (Parameterized Queries).
- Khắc phục File Upload: Bổ sung kiểm tra định dạng tệp phía máy chủ, xác thực phần mở rộng tệp nghiêm ngặt kết hợp đổi tên tệp ngẫu nhiên và lưu trữ ngoài thư mục thực thi web.
- Khắc phục Logic giỏ hàng: Bổ sung hàm kiểm tra ràng buộc giá trị số lượng phải là số nguyên dương (
quantity > 0) ở tầng xử lý logic phía máy chủ trước khi tính toán tổng tiền đơn hàng.
Kết quả và đóng góp
Kết quả nghiên cứu chính
- Hệ thống hóa toàn diện cơ sở lý thuyết về quy trình kiểm thử xâm nhập 3 pha (Lập kế hoạch, Tấn công/Khai thác, Báo cáo) theo các tiêu chuẩn quốc tế (OWASP, OSSTMM, PTES, ISSAF).
- Đánh giá chi tiết 10 công cụ kiểm thử xâm nhập web phổ biến, làm rõ vai trò trung tâm của Burp Suite trong phân tích và can thiệp lưu lượng HTTP/HTTPS.
- Thực nghiệm thành công quy trình kiểm thử xâm nhập trên ứng dụng web bán sách bằng Burp Suite, phát hiện và khai thác thành công 3 nhóm lỗ hổng nghiêm trọng:
- SQL Injection: Khai thác thành công qua kỹ thuật UNION-based, xác định 4 cột dữ liệu, trích xuất tên CSDL
website, bảng accounts, cùng toàn bộ thông tin tài khoản và mật khẩu người dùng.
- File Upload: Vượt qua hàng rào kiểm tra đầu vào phía máy khách bằng cách can thiệp gói tin qua Burp Proxy, tải thành công tệp chứa payload lên hệ thống máy chủ.
- Lỗi Logic Giỏ hàng: Thao túng tham số số lượng sản phẩm thành số âm thông qua việc sửa đổi request HTTP, dẫn đến việc đặt hàng thành công với tổng số tiền thanh toán bị sai lệch.
- Xây dựng báo cáo kiểm thử chi tiết kèm theo các đoạn mã nguồn cụ thể để khắc phục triệt để từng điểm yếu bảo mật đã phát hiện.
Đóng góp thực tiễn
Đồ án cung cấp một tài liệu hướng dẫn thực hành hoàn chỉnh về việc áp dụng Burp Suite trong kiểm thử xâm nhập ứng dụng web, kết hợp giữa việc quét lỗ hổng tự động và khai thác thủ công. Các giải pháp khắc phục mã nguồn được tác giả đề xuất bám sát thực tế phát triển phần mềm, giúp các lập trình viên và quản trị viên hệ thống hiểu rõ nguyên nhân gốc rễ của lỗ hổng và cách thức phòng ngừa hiệu quả.
Hạn chế và hướng nghiên cứu tiếp
- Hạn chế:
- Phạm vi thực nghiệm mới chỉ thực hiện trên ứng dụng web bán sách cục bộ với quy mô cơ bản, chưa kiểm thử trên các hệ thống thương mại điện tử thực tế có kiến trúc phân tán hoặc triển khai tường lửa ứng dụng web (WAF).
- Nghiên cứu chủ yếu tập trung vào một số kỹ thuật cơ bản của Burp Suite (Dashboard, Target, Proxy, Repeater, Intruder) và 4 nhóm lỗ hổng chính (SQLi, XSS, File Upload, Path Traversal / Logic giỏ hàng), chưa mở rộng sang toàn bộ 10 hạng mục của OWASP Top 2021.
- Hướng nghiên cứu tiếp:
- Mở rộng phạm vi kiểm thử sang các kiến trúc web hiện đại sử dụng Microservices, kiến trúc không máy chủ (Serverless), kiểm thử bảo mật API (RESTful API, GraphQL) và WebSocket.
- Nghiên cứu khai thác các tiện ích mở rộng nâng cao của Burp Suite thông qua kho BApps và lập trình tiện ích mở rộng tùy chỉnh bằng Burp Extender API (Python/Java).
- Tích hợp kiểm thử bảo mật tự động vào quy trình phát triển phần mềm liên tục (CI/CD / DevSecOps).
Giá trị tham khảo
Đồ án là tài liệu tham khảo hữu ích cho sinh viên chuyên ngành An toàn thông tin, Công nghệ thông tin, Kỹ thuật phần mềm và các chuyên viên kiểm thử bảo mật mới tiếp cận lĩnh vực Web Penetration Testing. Các nội dung có giá trị ứng dụng cao bao gồm:
- Quy trình 87 checklist của tiêu chuẩn OWASP Testing Guide (OTG) và cấu trúc 7 giai đoạn của PTES.
- Bảng đối chiếu các biến nhận dữ liệu đầu vào trong các ngôn ngữ lập trình PHP, ASP, JSP phục vụ công tác rà soát mã nguồn (Code Review).
- Hướng dẫn cấu hình môi trường, thao tác chặn bắt gói tin trên Burp Proxy, kỹ thuật chỉnh sửa request trên Burp Repeater và phương pháp phân tích câu truy vấn SQL Injection trong thực tế.
- Các mẫu mã nguồn PHP minh họa trước và sau khi áp dụng biện pháp phòng chống tấn công chèn mã và tấn công tải tệp độc hại.
Câu hỏi thường gặp
1. Báo cáo của Qualys và IBM Security năm 2023 đưa ra những con số nào về tình hình an ninh mạng và chi phí vi phạm dữ liệu?
Theo báo cáo của Qualys, tính đến cuối năm 2023 đã có 26.477 lỗ hổng được công bố (tăng hơn 1.500 CVE so với năm 2022), trong đó 32,5% trong số 206 lỗ hổng rủi ro cao nằm ở hạ tầng mạng và ứng dụng web. Theo báo cáo của IBM Security nghiên cứu trên 553 tổ chức tại 16 quốc gia, chi phí trung bình cho một vụ vi phạm dữ liệu trong năm 2023 đạt mức kỷ lục 4,45 triệu USD, tăng 100.000 USD so với năm 2022.
2. Tiêu chuẩn OSSTMM và PTES tiếp cận quy trình kiểm thử xâm nhập theo các kênh và giai đoạn nào?
OSSTMM tiếp cận việc đánh giá an ninh vận hành thông qua 5 kênh: Human Security (con người), Physical Security (vật lý), Wireless Communications (không dây), Telecommunications (viễn thông), và Data Network (mạng dữ liệu). Trong khi đó, PTES chuẩn hóa quy trình kiểm thử thành 7 giai đoạn: Tương tác trước kiểm thử, Thu thập thông tin tình báo, Mô hình hóa rủi ro, Phân tích lỗ hổng, Khai thác, Sau khai thác, và Báo cáo.
3. Trong phần thực nghiệm với ứng dụng web bán sách, tác giả đã trích xuất dữ liệu CSDL thông qua kỹ thuật SQL Injection nào?
Tác giả sử dụng kỹ thuật In-band UNION-based SQL Injection tại ô tìm kiếm sản phẩm. Bằng cách sử dụng mệnh đề ORDER BY để xác định truy vấn gốc trả về 4 cột dữ liệu, tác giả sử dụng câu lệnh UNION SELECT để truy vấn thông tin phiên bản hệ quản trị CSDL, xác định tên CSDL là website, liệt kê danh sách bảng và trích xuất thành công dữ liệu cột USERNAME, PASSWORD từ bảng accounts.
4. Lỗ hổng logic nghiệp vụ trong chức năng giỏ hàng của ứng dụng thực nghiệm đã bị khai thác như thế nào?
Kẻ tấn công sử dụng tính năng Intercept của Burp Proxy để chặn gói tin HTTP request khi thêm sản phẩm vào giỏ hàng, sau đó chỉnh sửa tham số số lượng sản phẩm thành một số nguyên âm. Do ứng dụng không kiểm tra ràng buộc giá trị số lượng ở phía máy chủ, giỏ hàng ghi nhận giá trị tiền âm, cho phép người dùng thêm các sản phẩm khác để bù trừ và thực hiện đặt hàng thành công với tổng số tiền phải trả bị giảm đi bất hợp pháp.
5. Yêu cầu phần cứng khuyến nghị để cài đặt và vận hành bộ công cụ Burp Suite là gì?
Về phần cứng, Burp Suite yêu cầu tối thiểu CPU 2 lõi và RAM 4GB cho các tác vụ cơ bản; cấu hình khuyến nghị cho mục đích sử dụng chung là CPU 2 lõi và RAM 16GB; đối với các tác vụ chuyên sâu hoặc quét quy mô lớn khuyến nghị sử dụng CPU 4 lõi và RAM 32GB. Ổ đĩa trống cần tối thiểu 1GB cho cài đặt ứng dụng và 2GB cho mỗi tệp dự án (project file).
Kết luận
Đồ án tốt nghiệp "Nghiên cứu các kỹ thuật kiểm thử xâm nhập web và ứng dụng sử dụng Burp Suite" của tác giả Lê Thị Linh đã hệ thống hóa toàn diện các tiêu chuẩn và phương pháp luận kiểm thử an toàn ứng dụng web hiện đại. Nghiên cứu phân tích sâu sắc cơ chế hoạt động của các nhóm lỗ hổng phổ biến theo OWASP Top 10 và làm rõ cách thức vận hành các tính năng cốt lõi của bộ công cụ Burp Suite. Kết quả thực nghiệm trên ứng dụng web bán sách đã chứng minh tính hiệu quả của quy trình kết hợp giữa quét tự động và khai thác thủ công, đồng thời cung cấp các giải pháp sửa đổi mã nguồn chuẩn xác nhằm nâng cao mức độ an toàn cho hệ thống thông tin.