> ## Documentation Index
> Fetch the complete documentation index at: https://docs.cystack.net/llms.txt
> Use this file to discover all available pages before exploring further.

# Quét có xác thực

> Cấu hình VulnScan để kiểm tra ứng dụng yêu cầu đăng nhập, API có token và khu vực sau xác thực

Nhiều lỗ hổng quan trọng chỉ xuất hiện sau khi người dùng đăng nhập: lỗi phân quyền, API xử lý dữ liệu nhạy cảm, chức năng tải tệp, trang quản trị, luồng thanh toán hoặc khu vực dành cho nhân viên. Quét không xác thực chỉ nhìn thấy phần công khai của ứng dụng, vì vậy kết quả có thể bỏ sót rủi ro nằm phía sau màn hình đăng nhập.

CyStack VulnScan hỗ trợ quét có xác thực bằng cách gửi kèm ngữ cảnh truy cập do người dùng cung cấp, chẳng hạn cookie phiên đăng nhập, header tùy chỉnh, token API hoặc thông tin HTTP Basic Authentication.

<img src="https://mintcdn.com/cystack/3DpJc3rt1nBJe_eL/images/vulnscan/vi-authenticated-scan.png?fit=max&auto=format&n=3DpJc3rt1nBJe_eL&q=85&s=59732518005734292ce04d5b9c34f638" alt="Cấu hình quét có xác thực" width="1440" height="1024" data-path="images/vulnscan/vi-authenticated-scan.png" />

## Khi nào nên dùng quét có xác thực

Nên dùng quét có xác thực khi:

* Ứng dụng chỉ hiển thị chức năng quan trọng sau đăng nhập.
* API yêu cầu bearer token, API key hoặc header định tuyến tenant.
* Trang thử nghiệm được bảo vệ bằng HTTP Basic Authentication.
* Bạn muốn kiểm tra khu vực quản trị, khu vực khách hàng hoặc khu vực nhân viên bằng tài khoản thử nghiệm.
* Kết quả quét công khai chưa phản ánh đúng mức độ phơi nhiễm của ứng dụng.

Không nên dùng tài khoản cá nhân có quyền quản trị cao nếu không có phê duyệt rõ ràng. Nên tạo tài khoản kiểm thử riêng, cấp quyền vừa đủ và thu hồi sau khi hoàn tất đánh giá nếu cần.

## Các phương thức xác thực được hỗ trợ

| Phương thức               | Dùng cho                                                               | Ví dụ                       |
| ------------------------- | ---------------------------------------------------------------------- | --------------------------- |
| Cookie phiên đăng nhập    | Ứng dụng web truyền thống sau khi đăng nhập trên trình duyệt.          | `session=...; tenant=acme`  |
| Header tùy chỉnh          | API, bearer token, API key, header tenant, cổng môi trường thử nghiệm. | `Authorization: Bearer ...` |
| HTTP Basic Authentication | Trang thử nghiệm hoặc hệ thống nội bộ được bảo vệ bằng Basic Auth.     | `scanner:password`          |

## Quy trình trên Web UI

1. Đăng nhập ứng dụng mục tiêu bằng tài khoản kiểm thử.
2. Lấy cookie hoặc token cần thiết bằng công cụ dành cho nhà phát triển của trình duyệt.
3. Mở VulnScan và vào trang chi tiết tài sản.
4. Chọn **Bắt đầu quét**.
5. Dán cookie, header hoặc thông tin Basic Auth vào phần xác thực.
6. Kiểm tra lại phạm vi quét và bắt đầu lượt quét.
7. Sau khi quét xong, mở chi tiết lượt quét để xem các phát hiện trong khu vực sau đăng nhập.

## Ví dụ dùng cookie

Cookie phù hợp với ứng dụng web dùng phiên đăng nhập:

```bash theme={null}
vulnscan scan --target https://portal.acme.com --cookie "session=REDACTED; tenant=acme" --output ./reports --format json,csv
```

Lưu ý:

* Dùng cookie của tài khoản kiểm thử.
* Đảm bảo cookie còn hiệu lực trong suốt thời gian quét.
* Không chia sẻ cookie thật trong ticket hoặc kênh chat không được bảo vệ.

## Ví dụ dùng header và token API

API thường dùng bearer token hoặc API key:

```bash theme={null}
vulnscan scan --target https://api.acme.com -H "Authorization: Bearer REDACTED" -H "X-Tenant: acme" --output ./reports --format json,csv
```

Nên tạo token riêng cho VulnScan để dễ thu hồi và theo dõi hoạt động.

## Ví dụ dùng HTTP Basic Authentication

```bash theme={null}
vulnscan scan --target https://staging.acme.com --basic-auth "scanner:REDACTED" --output ./reports --format json,csv
```

Basic Authentication chỉ bảo vệ lớp truy cập ban đầu. Nếu ứng dụng phía sau vẫn có màn hình đăng nhập riêng, bạn có thể cần kết hợp thêm cookie hoặc header phù hợp.

## Những nhóm lỗi có thể phát hiện tốt hơn

Quét có xác thực giúp tăng khả năng phát hiện:

* Lỗi phân quyền và truy cập tài nguyên không đúng vai trò.
* Lỗi API trong các điểm truy cập yêu cầu token.
* Lỗi tải tệp, xử lý biểu mẫu và luồng nghiệp vụ sau đăng nhập.
* SQL injection, XSS, SSRF, CSRF hoặc lỗi cấu hình chỉ xuất hiện ở khu vực riêng tư.
* Thư viện, plugin, trang quản trị hoặc điểm truy cập debug không hiển thị công khai.

## Thực hành an toàn

* Dùng môi trường và tài khoản đã được phê duyệt.
* Cấp quyền tối thiểu cần thiết cho tài khoản quét.
* Không dùng tài khoản của người dùng thật.
* Không dùng token có quyền ghi/xóa dữ liệu nếu không cần.
* Đặt giới hạn dữ liệu thử nghiệm để tránh ảnh hưởng hệ thống sản xuất.
* Thu hồi hoặc đổi token sau khi hoàn tất nếu token có quyền nhạy cảm.

## Xử lý sự cố thường gặp

| Vấn đề                            | Cách kiểm tra                                                                                         |
| --------------------------------- | ----------------------------------------------------------------------------------------------------- |
| Không thấy nội dung sau đăng nhập | Cookie hoặc token có thể hết hạn, sai tên miền hoặc thiếu header bắt buộc.                            |
| Ứng dụng trả về 401/403           | Kiểm tra quyền tài khoản, tenant, IP allowlist và cơ chế chống tự động hóa.                           |
| Lượt quét quá chậm                | Giảm phạm vi quét, dùng tài khoản có ít dữ liệu thử nghiệm hơn hoặc chạy ngoài giờ cao điểm.          |
| Phát hiện ít hơn kỳ vọng          | Kiểm tra xem ứng dụng có yêu cầu bước đăng nhập nhiều lớp, CSRF token động hoặc header bổ sung không. |
