Chuyển đến nội dung chính
Lượt kiểm thử là một lượt quét DAST trên một ứng dụng đang chạy của bạn: CloudThinker kiểm thử ứng dụng trong giới hạn bạn đặt ra và ghi lại bằng chứng request và response cho mọi vấn đề được xác nhận. Trang này trình bày mọi tùy chọn thiết lập; để chạy lần đầu với thiết lập tối thiểu, hãy dùng Bắt đầu nhanh với Cyber.

Điều kiện tiên quyết

  • Một ứng dụng bạn được phép kiểm thử, truy cập được qua URL tên miền. Dùng môi trường staging cho mọi cường độ cao hơn Safe.
  • Quyền truy cập bản ghi DNS của tên miền, và quyền admin workspace để xác minh tên miền.
  • Credit cho lượt chạy. Lượt chạy nào cũng tốn credit, và Deep dive tốn nhiều nhất. Xem Mức sử dụng.
  • Tùy chọn: tài khoản thử nghiệm riêng, OpenAPI spec hoặc Postman collection, và kết nối Git để kiểm thử white-box.

Đăng ký ứng dụng

1

Đặt mục tiêu

Mở Cyber và nhấn New app trong mục Apps (hoặc Register an App nếu workspace chưa có ứng dụng nào). Ở bước Target, nhập App name và Application URL, rồi chọn Web application hoặc API trong What to test. Nhấn Continue.Lựa chọn này quyết định các nhóm OWASP mà báo cáo độ bao phủ sẽ đo. Bạn không thể kết hợp hai loại hay đổi về sau; hãy tạo ứng dụng thứ hai để kiểm thử cùng host dưới dạng API.
App name, Application URL và lựa chọn độ bao phủ Web hoặc API.
2

Xác minh tên miền

Trong Target ownership, nhấn Create DNS proof. Thêm DNS record name và TXT value được hiển thị dưới dạng bản ghi TXT tại nhà cung cấp DNS, rồi nhấn Check again. Nếu nhà cung cấp tự thêm tên zone, hãy bỏ phần hậu tố đó.Trạng thái thành công: Target ownership hiển thị Verified. Nếu host thuộc một tên miền bạn đã xác minh, thẻ hiển thị Proof reused from kèm tên miền đó và bạn không cần thêm bản ghi mới.
3

Thêm quyền truy cập

Ở bước Access, thêm người dùng thử nghiệm, kho mã và tài liệu API. Cả ba đều là tùy chọn. Xem các phần bên dưới để biết chi tiết từng mục.
Người dùng thử nghiệm, mã nguồn và tài liệu API tùy chọn.
4

Kiểm tra và bắt đầu

Ở bước Start, kiểm tra Test summary và Coverage status. Nhấn Show limited checks để xem những gì dữ liệu hiện tại chưa kiểm thử được. Chọn Testing intensity, rồi nhấn Start test, hoặc Run later để lưu ứng dụng mà không chạy.Quá trình thiết lập không có bước phạm vi, nên Start test bao phủ toàn bộ mục tiêu. Với lượt chạy đầu tiên, hãy chọn Safe, nhấn Run later, rồi đặt đường dẫn bao gồm và loại trừ trong Scope ở Settings của ứng dụng trước khi chạy. Bắt đầu nhanh với Cyber hướng dẫn chi tiết bước này.Trạng thái thành công: Start test mở bàn làm việc của lượt chạy. Run later mở ứng dụng đã lưu, chưa có lượt chạy nào.
Bạn có thể quản lý các tên miền đã xác minh cho cả workspace tại Cyber → Settings. Xác minh tên miền cho phép kiểm thử trên tên miền đó, nhưng không mở rộng phạm vi của bất kỳ ứng dụng nào.

Thêm người dùng thử nghiệm

Người dùng thử nghiệm giúp Cyber vào được các trang cần đăng nhập và kiểm tra phân quyền: người dùng A có xem được dữ liệu của người dùng B không? Nút này có tên Add test user khi thiết lập, Add authentication trong Settings của ứng dụng ở mục Test identities, và Add auth trong hộp thoại Run test. Cả ba đều mở cùng một biểu mẫu: mô tả người dùng (Identity label, Identity description, Persona or role, Tenant), rồi chọn Authentication method. Với Agent creates new account, hãy viết hướng dẫn nêu rõ các vai trò cần tạo, dùng <generated_username> và <generated_password> làm thông tin đăng nhập, và mô tả dấu hiệu chứng tỏ đăng nhập thành công:
Hướng dẫn được lưu ở dạng mã hóa và không bao giờ hiển thị lại. Để thay đổi, mở tài khoản trong Settings của ứng dụng ở mục Test identities và nhập hướng dẫn mới; hướng dẫn mới sẽ thay thế bản đã lưu. Phương thức này không hỗ trợ đăng ký cần mã qua email hoặc SMS. Lượt chạy theo lịch chỉ đăng nhập bằng người dùng Long-lived token, vì chỉ loại này dùng lại an toàn khi không có người giám sát: phiên đăng nhập sẽ hết hạn, còn đăng nhập bằng mật khẩu và tài khoản do agent tạo không được dùng cho lịch chạy. Lịch chạy không bao giờ tự tắt. Nếu token đã bị xóa khi đến giờ chạy, lượt đó kết thúc với trạng thái Failed và bạn nhận được thông báo; lượt kế tiếp sẽ đăng nhập lại ngay khi có token hoạt động được lưu. Nếu không có long-lived token, lịch chạy sẽ không đăng nhập bằng người dùng thử nghiệm, nên không kiểm thử hay kiểm tra lại được gì phía sau trang đăng nhập. Hãy chạy các kiểm tra đó thủ công, hoặc thêm một người dùng long-lived token.
Hãy thêm hai người dùng thuộc vai trò hoặc tenant khác nhau. Với hai người dùng, Cyber có thể kiểm tra liệu người này có đọc hay sửa được dữ liệu của người kia không.
Yêu cầu cURL đã sao chép chứa một phiên đăng nhập đang hoạt động. Hãy coi nó như mật khẩu và chỉ dán vào biểu mẫu này. Nếu trang đăng nhập dùng CAPTCHA, hãy thiết lập trước: xem Xử lý đăng nhập có CAPTCHA.
Biểu mẫu người dùng thử nghiệm với thông tin chi tiết và đăng nhập bằng mật khẩu.

Thiết lập phạm vi và ngữ cảnh

Mở ứng dụng và nhấn Settings. Mục tiêu và framework chỉ đọc ở đây. Mọi mục khác đều sửa được. Quy tắc đường dẫn là glob, được so khớp với toàn bộ đường dẫn:
  • Loại trừ luôn được ưu tiên. Đường dẫn khớp cả hai danh sách sẽ nằm ngoài phạm vi.
  • Không có quy tắc bao gồm nghĩa là toàn bộ mục tiêu. Mọi đường dẫn trên host của ứng dụng đều nằm trong phạm vi cho đến khi bạn thêm một quy tắc.
  • Host khác nằm ngoài phạm vi. Page asset origins nhận các origin HTTPS chính xác, như https://cdn.example.com, và chỉ cho phép trang tải script, style, hình ảnh và font từ đó. Điều hướng và các yêu cầu chủ động vẫn chỉ nhắm vào mục tiêu của bạn.
  • Mỗi danh sách chứa tối đa 100 quy tắc, mỗi quy tắc tối đa 100 ký tự.
Đường dẫn bao gồm và loại trừ của một API minh họa.

Chọn mức truy cập và cường độ

Mức truy cập được xác định từ những gì bạn cung cấp, không phải từ một cài đặt: Cường độ quyết định lượt chạy được phép làm gì. Đây là bảng tham chiếu cho mọi trang Cyber: Safe tránh chủ ý thay đổi dữ liệu, nhưng yêu cầu đọc vẫn có thể làm thay đổi dữ liệu nếu ứng dụng của bạn đổi trạng thái khi nhận GET. Dù vậy, hãy đặt đường dẫn bao gồm trước lượt chạy đầu tiên. Bước đăng nhập của người dùng thử nghiệm Password tách biệt với giới hạn cường độ, nên có thể gửi biểu mẫu đăng nhập ở mọi cường độ, kể cả Safe.
Full và Deep dive gửi các yêu cầu phá hủy, gồm DELETE, tới mục tiêu. Trước khi chạy, một hộp thoại yêu cầu bạn xác nhận. Hãy dùng môi trường dùng một lần và tài khoản thử nghiệm; dữ liệu trong phạm vi đã lưu có thể bị thay đổi hoặc xóa vĩnh viễn.

Chạy ngay hoặc theo lịch

1

Mở hộp thoại chạy

Trên trang ứng dụng, nhấn Run test. Hộp thoại hiển thị thông tin thiết lập của ứng dụng và mọi trở ngại, như Domain verification required.
2

Chọn cường độ và phạm vi quét

Chọn cường độ. Với ứng dụng white-box, hãy đặt thêm Scan scope: Changes only kiểm thử các commit trên nhánh đã lưu của từng kho mã đính kèm, tính từ commit mà lượt chạy thành công gần nhất ghi lại. Whole codebase kiểm thử mọi thứ. Lượt chạy đầu tiên phải dùng Whole codebase, và nhánh không có commit mới sẽ được quét toàn bộ.
3

Chạy hoặc lên lịch

Nhấn Run Safe test (nhãn thay đổi theo cường độ) để chạy ngay. Để chạy lặp lại, hãy nhấn Schedule… và chọn Daily, Weekly, Monthly, No Repeat (một lần) hoặc Custom (biểu thức cron). Thời gian tính theo múi giờ cục bộ của trình duyệt. Bạn cũng có thể đặt ngày hết hạn. Nhấn Schedule để lưu. Với Full hoặc Deep dive, một hộp thoại yêu cầu bạn xác nhận lịch chạy. Lịch chạy chỉ đăng nhập bằng người dùng thử nghiệm Long-lived token (xem Thêm người dùng thử nghiệm).Trạng thái thành công: lượt chạy mở bàn làm việc với trạng thái Running. Lịch chạy xuất hiện trong Settings của ứng dụng với trạng thái Enabled.
Hộp thoại Run test với cường độ và các nút điều khiển lượt chạy.
Để thay đổi lịch chạy, dùng Edit schedule trong Settings của ứng dụng. Tạm dừng vẫn giữ nguyên cấu hình. Mỗi ứng dụng chỉ chạy một lượt kiểm thử tại một thời điểm.
Lượt chạy Full hoặc Deep dive theo lịch gửi yêu cầu phá hủy mỗi lần kích hoạt, mà không ai xác nhận cho lượt đó. Chỉ lên lịch các lượt này trên staging với dữ liệu dùng một lần và phạm vi chặt chẽ.

Theo dõi lượt chạy

Bàn làm việc hiển thị lịch sử lượt chạy, các phát hiện ngay khi được lưu, và App surface mà Cyber phát hiện. Mỗi lượt chạy có hai tab: Timeline cho hoạt động trực tiếp, và Report cho báo cáo hoàn chỉnh, liệt kê những gì lượt chạy không kiểm thử được, như các khu vực phía sau một lần đăng nhập thất bại. Lượt chạy kết thúc với trạng thái Success, Failed hoặc Stopped. Không có thông báo khi lượt chạy kết thúc, nên hãy xem tab Runs. Nếu Session token không qua được bước kiểm tra khi lượt chạy bắt đầu, lượt chạy kết thúc với trạng thái Failed mà chưa kiểm thử gì, và bạn nhận được thông báo Test run blocked. Đăng nhập Password thất bại cũng khiến lượt chạy kết thúc với Failed, nhưng không có thông báo. Long-lived token không được kiểm tra trước, nên token bị ứng dụng từ chối không làm dừng lượt chạy: lượt chạy vẫn tiếp tục và báo cáo liệt kê những gì không kiểm thử được. Hãy cập nhật thông tin đăng nhập trong Settings của ứng dụng ở mục Test identities và bắt đầu lượt chạy mới. Stop run hủy lượt chạy và không thể tiếp tục lại. Các phát hiện đã lưu vẫn được giữ. Lượt chạy thất bại hoặc bị dừng là một lần kiểm thử chưa hoàn chỉnh, nên đừng coi kết quả của nó là bằng chứng ứng dụng an toàn.
Lịch sử lượt chạy, timeline, phát hiện và App surface đã phát hiện.

Khắc phục sự cố

Để xem mọi sự cố của Cyber ở một chỗ, xem Khắc phục sự cố Cyber.
Tên miền chưa được xác minh, hoặc bước kiểm tra TXT thất bại. So sánh bản ghi DNS của bạn với DNS record name và TXT value trong Target ownership, sửa phần hậu tố zone bị lặp nếu có, rồi nhấn Check again. Nếu bạn không phải admin workspace, hãy nhờ một admin xác minh.
Một thông tin đăng nhập đã lưu không hoạt động. Session token được kiểm tra lại hai lần: khi bạn mở Run test, lúc này hộp thoại hiển thị A saved login no longer works và không cho khởi chạy; và khi lượt chạy bắt đầu, lúc này lỗi sẽ khiến lượt chạy kết thúc với Failed. Mật khẩu không bao giờ được kiểm tra trước: lần thử đầu tiên diễn ra khi lượt chạy bắt đầu, và đăng nhập thất bại khiến lượt chạy kết thúc với Failed. Hãy cập nhật mật khẩu, làm mới phiên cURL hoặc thay token trong Settings của ứng dụng ở mục Test identities, rồi chạy lại.
Một kiểm tra cần dữ liệu bạn chưa cung cấp: vai trò thứ hai, tenant, kho mã hoặc tài liệu API. Hãy bổ sung và chạy lại. Kiểm tra bị giới hạn không phải kiểm tra đã đạt.
Chế độ này so sánh với lượt chạy thành công gần nhất. Hãy hoàn tất một lượt chạy Whole codebase trước.

Bước tiếp theo

Khắc phục sự cố Cyber

Mọi sự cố của Cyber ở một chỗ, kèm nguyên nhân, cách kiểm tra và cách sửa

Phân loại phát hiện

Đọc bằng chứng, sửa lỗi và kiểm thử lại

Báo cáo Cyber

Xuất các phát hiện đã chọn hoặc bản đánh giá của một lượt chạy

Chạy Code Audit

Kiểm tra mã nguồn của ứng dụng bạn vừa kiểm thử