CYBERSOFT
Đăng nhập

Kiểm thử bảo mật cơ bản cho Tester: OWASP Top 10 nhìn từ QA trên sàn TMĐT (có trắc nghiệm)

Chuyên công nghệTMĐTNâng caoChuẩn SEO
🗓 1 tháng trước19 phút đọc·👁 1,690 lượt xem👤 439 người đọc

Bài nâng cao cho tester: kiểm thử bảo mật cơ bản theo OWASP Top 10 qua sàn TMĐT ShopEasy. Phát hiện IDOR/phân quyền hỏng, injection cơ bản, XSS phản chiếu, lộ dữ liệu nhạy cảm, cấu hình sai và thiếu rate-limit — luôn AN TOÀN, có trách nhiệm, không phá dữ liệu thật. Nhiều mockup giao diện, 2 tình huống thật, FAQ và trắc nghiệm 5 câu. Chuẩn SEO, dẫn về khóa Tester CyberSoft.

1. Tóm tắt nhanh & màn hình bạn sẽ test

⭐ TL;DR — Kiểm thử bảo mật cơ bản là việc tester thủ công (không cần chuyên gia bảo mật) chủ động dò các lỗ hổng phổ biến nhất theo OWASP Top 10 ngay trong lúc test chức năng: đổi ID để xem dữ liệu người khác (IDOR), nhập ký tự đặc biệt xem hệ thống có lộ lỗi hay phản chiếu script (injection/XSS), xem thông báo lỗi có lộ thông tin nhạy cảm không, và thử đăng nhập sai liên tục để kiểm rate-limit. Bài này bám sàn TMĐT ShopEasy: bạn học cách kiểm AN TOÀN, có trách nhiệm — chỉ trên môi trường được phép, không phá dữ liệu thật, không hướng dẫn tấn công thật. Nhiều mockup giao diện, 2 tình huống thật và trắc nghiệm cuối bài.

Chào bạn Tester! Ở cấp độ nâng cao, ngoài kiểm thử chức năng đúng/sai, bạn cần thêm một lớp tư duy: 'Nếu tôi là người dùng cố tình phá luật thì sao?'. Đó chính xác là góc nhìn của OWASP Top 10 — danh sách các rủi ro bảo mật ứng dụng web phổ biến và nghiêm trọng nhất, được cộng đồng bảo mật toàn cầu cập nhật định kỳ. Bạn không cần trở thành chuyên gia bảo mật để bắt được phần lớn các lỗ hổng cơ bản; chỉ cần biết đúng checklist và luôn kiểm tra AN TOÀN, có xin phép.

🔒 shopeasy.vn/orders/8843 ShopEasy · Đang đăng nhập: Khách A ShopEasy · Chi tiết đơn hàng Mã đơn hàng 8843Người nhận Trần Thị MaiSố điện thoại 0937 2xx xxxĐịa chỉ giao hàng 12 Nguyễn Trãi, Q.5, TP.HCMTổng tiền 1.250.000đ IDOR: sửa 8842→8843 trên URL, thấy đơn của KHÁCH KHÁC Đúng ra tài khoản đang đăng nhập không được xem đơn này
Màn hình sẽ test: chi tiết đơn hàng ShopEasy khi orderId bị đổi sang mã của khách khác (IDOR)
📖 Kiểm thử bảo mật thủ công: tester dùng kiến thức OWASP Top 10 cơ bản để chủ động dò lỗ hổng phổ biến ngay trong lúc test chức năng, trên môi trường được phép.

2. OWASP Top 10 nhìn từ góc Tester (rút gọn)

OWASP Top 10 vốn viết cho lập trình viên và kỹ sư bảo mật, nhưng phần lớn hạng mục đầu bảng lại là những thứ tester THỦ CÔNG hoàn toàn có thể phát hiện mà không cần công cụ chuyên dụng — chỉ cần biết mình đang tìm gì. Bảng dưới đây rút gọn các hạng mục liên quan trực tiếp nhất tới công việc test hằng ngày, cùng ví dụ cụ thể trên ShopEasy.

OWASP Top 10 nhìn từ góc Tester (rút gọn) Hạng mục OWASPTester cần kiểm gìVí dụ trên ShopEasyA01 · Broken Access ControlĐổi ID trên URL/API để xem/sửa dữ liệu người khác (IDOR)Đổi orderId 8842 → 8843 xem được đơn của khách khácA02 · Cryptographic FailuresKiểm HTTPS, dữ liệu nhạy cảm có hiện dạng plain-text khôngSố điện thoại, OTP hiện rõ trong response APIA03 · Injection (SQL/XSS)Nhập ký tự đặc biệt an toàn, xem hệ thống có lộ lỗi hoặc phản chiếu nguyên vănÔ tìm kiếm trả lỗi SQL khi gõ dấu nháy đơnA05 · Security MisconfigurationXem thông báo lỗi có lộ version, stack trace, đường dẫn server khôngTrang lỗi 500 hiện rõ 'PostgreSQL 14.2' và đường dẫn nội bộA07 · Identification & Auth FailuresThử đăng nhập sai liên tục, xem có khoá tài khoản/giới hạn tốc độ khôngĐăng nhập sai 50 lần vẫn không bị khoá hay chặnA03 · XSS (Cross-Site Scripting)Nhập script vào ô nhập, xem có hiển thị lại nguyên văn (không mã hoá) khôngÔ tìm kiếm hiển thị lại thẻ script gõ vào mà không escapeA09 · Security Logging FailuresKiểm hành động nhạy cảm (đổi mật khẩu, đơn hàng) có được ghi log khôngĐổi mật khẩu tài khoản mà không có log nào ghi lạiRút gọn theo góc nhìn tester thủ công — không thay thế báo cáo pentest chuyên sâu.
Bảng OWASP Top 10 rút gọn cho tester, cùng ví dụ cụ thể trên ShopEasy

Chú ý cột giữa: hầu hết đều là những thao tác bạn ĐÃ QUEN thuộc khi test chức năng — đổi giá trị trên URL, nhập ký tự lạ vào ô nhập, đọc kỹ thông báo lỗi. Điểm khác biệt duy nhất là bạn cần đặt câu hỏi bảo mật bên cạnh câu hỏi chức năng: không chỉ 'app có chạy đúng không' mà còn 'app có TỪ CHỐI đúng những gì nó không nên cho phép không'.

3. Vì sao tester thủ công cần biết bảo mật cơ bản

Trên một sàn TMĐT như ShopEasy, hậu quả của một lỗ hổng bảo mật bị bỏ sót không chỉ là 'giao diện xấu' — nó có thể là hàng nghìn đơn hàng bị lộ, tài khoản khách hàng bị chiếm đoạt, hoặc uy tín thương hiệu sụp đổ chỉ sau một bài đăng trên mạng xã hội. Đội bảo mật chuyên trách thường không đủ người để kiểm hết mọi tính năng mới trước mỗi lần release, trong khi tester lại là người ở gần tính năng nhất, hiểu rõ luồng dữ liệu nhất.

Đây cũng là lý do 'kiến thức bảo mật cơ bản' ngày càng trở thành yêu cầu bắt buộc ở cấp độ tester nâng cao/senior — nhiều nhà tuyển dụng hỏi thẳng: 'Cho một API lấy chi tiết đơn hàng theo ID, bạn kiểm bảo mật thế nào?'. Trả lời được bằng tư duy IDOR, injection, XSS thay vì chỉ nói 'em test đủ trường hợp' cho thấy bạn đang tư duy như một tester trưởng thành, không chỉ dừng ở happy path.

Và quan trọng nhất: chi phí vá một lỗ hổng bảo mật ở giai đoạn test luôn rẻ hơn rất nhiều so với vá sau khi đã bị khai thác trên production — cả về tiền bạc, thời gian lẫn niềm tin của khách hàng. Đầu tư đúng mức vào checklist bảo mật cơ bản chính là bạn đang bảo vệ trực tiếp cả doanh nghiệp lẫn hàng nghìn khách hàng đang tin tưởng ShopEasy.

4. Nguyên tắc AN TOÀN khi kiểm thử bảo mật (đừng phá dữ liệu thật)

Trước khi thực hành bất kỳ kỹ thuật nào ở các chương sau, bạn cần thuộc lòng nguyên tắc an toàn — đây là ranh giới giữa 'tester có trách nhiệm' và 'gây sự cố nghiêm trọng'.

▶ Bước 1: Xác định phạm vi (scope) và xin phép rõ ràng: chỉ test trên môi trường staging/test riêng, dùng tài khoản test, không đụng tới hệ thống production trừ khi có văn bản cho phép.

▶ Bước 2: Dùng dữ liệu/chuỗi thăm dò AN TOÀN, không phá huỷ: ví dụ dấu nháy đơn (') để xem lỗi, đoạn script cảnh báo vô hại (alert) để xem có bị thực thi không — tuyệt đối không chạy lệnh xoá/sửa dữ liệu thật.

▶ Bước 3: Ghi lại bằng chứng có kiểm soát (ảnh chụp, log request/response) và báo ngay cho Security team/lead nếu phát hiện dấu hiệu bất thường — không tự ý khai thác sâu thêm.

⚠️ ⚠️ Lỗi người mới hay gặp: Nghĩ rằng 'chỉ thử nhanh trên production cho tiện, không sao đâu'. Một câu lệnh thăm dò sai chỗ có thể xoá/sửa dữ liệu thật của hàng nghìn khách hàng — luôn xác nhận môi trường TRƯỚC KHI gõ bất kỳ ký tự thăm dò nào.
💡 Nếu công ty có kênh 'responsible disclosure' hoặc quy trình báo lỗ hổng riêng, luôn đi theo quy trình đó thay vì tự loan tin hay đăng công khai.
🔒

Nội dung bị khoá

Bạn đang xem bản xem trước. Đăng nhập để mở khoá toàn bộ bài viết và tất cả tài liệu Tester/QA.

Đã xem 25% nội dung
  • Đọc trọn vẹn mọi bài viết
  • Lưu bài & ghi chú cá nhân
  • Theo dõi tiến độ đã đọc
  • Luyện phỏng vấn, ISTQB, Mock
Đăng nhập để đọc tiếp

Chưa có mã? Lấy mã qua Fanpage / Zalo CyberSoft.

0

💬 Bình luận (0)

Bạn có thể đọc mọi bình luận. Đăng nhập để bình luận

Chưa có bình luận nào. Hãy là người đầu tiên!