What is It?

Là một dịch vụ mạng cho phép phát hiện các lỗ hổng vô hình, cụ thể là các lỗ hổng mà không gây ra:

  • Các thông báo lỗi.
  • Các sự khác biệt trong output của ứng dụng.
  • Các độ trễ thời gian có thể nhận biết.

Quy trình hoạt động của Collaborator:

  • Burp Suite gửi Collaborator payload trong một request đến ứng dụng mục tiêu. Payload đó là subdomain của Collaborator server. Khi lỗ hổng xảy ra thì ứng dụng mục tiêu sẽ sử dụng payload được inject vào để tương tác với Collaborator server.
  • Burp Suite thăm dò máy chủ để xem có sự tương tác nào xảy ra hay không.

Typical Uses for Burp Collaborator

Có thể được sử dụng để phát hiện các lỗ hổng out-of-band. Một số use case phổ biến:

External Service Interaction

Dùng để thực hiện tương tác với dịch vụ bên ngoài. Quy trình:

  1. Khi ứng dụng mục tiêu nhận một payload URL, nó sẽ thực hiện DNS query cho payload URL và gửi HTTP request.
  2. Collaborator server nhận DNS query và HTTP request.
  3. Burp thăm dò Collaborator server xem có nhận được sự tương tác từ ứng dụng mục tiêu hay không.
  4. Nếu có thì Burp sẽ thực hiện báo cáo.

Out-of-band Resource Load

Khi ứng dụng mục tiêu nạp nội dung từ nguồn bên ngoài và chèn vào response của chính nó.

Để phát hiện lỗ hổng này, Collaborator server trả về một dữ liệu cụ thể trong các response của nó cho ứng dụng mục tiêu. Burp sau đó sẽ phân tích response trả về của ứng dụng nhằm kiểm tra xem có dữ liệu chèn vào từ Collaborator server hay không.

Blind SQL Injection

Khi ứng dụng bị lỗ hổng SQL Injection nhưng response của nó không chứa dữ liệu liên quan đến câu truy vấn hoặc thông báo lỗi từ database.

Để phát hiện lỗ hổng này, Burp gửi injected-based payload mà có thể gây ra sự tương tác với Collaborator server cho ứng dụng mục tiêu. Ví dụ sau sử dụng payload của OracleDB:

Blind Cross-site Scripting

Collaborator server có thể thông báo cho Burp về các tương tác bất đồng bộ khi payload được gửi đến cho ứng dụng mục tiêu. Điều này giúp phát hiện ra các loại lỗ hổng được lưu trữ chẳng hạn như second-order SQL injection1 hoặc Blind XSS.

Burp Collaborator Server

Burp Collaborator cài đặt nhiều dịch vụ mạng trên một server:

  • Nó là một DNS server có thẩm quyền cho các domain và subdomain của nó.
  • Nó sử dụng một TLS đại diện hợp lệ cho các domain name của nó.
  • Nó cung cấp dịch vụ HTTP/HTTPS.
  • Nó cung cấp dịch vụ SMTP/SMTPS.

Chúng ta có thể chọn sử dụng loại server là public hoặc private:

  • Public server là mặc định, được cung cấp bởi PortSwigger và được chia sẻ giữa tất cả các user. PortSwigger không đảm bảo tính sẵn sàng hoặc hiệu năng của server này.
  • Chúng ta có thể chọn chạy một private instance của Collaborator server. Điều này yêu cầu ta cần phải tự cấu hình2.
list
from outgoing([[Burp Collaborator]])
sort file.ctime asc

Resources

Footnotes

  1. xem thêm Second-order SQL Injection

  2. tham khảo thêm Deploying a private Burp Collaborator server - PortSwigger