Loading
February 5, 2025By Harry Ha

Tự Động Pentest API Bằng Burp Suite

Chức năng “API-only scan” đã được tích hợp trong cả hai phiên bản Burp Suite Professional và Burp Suite Enterprise Edition từ năm 2021. Tính năng này cho phép người dùng tải lên các định nghĩa về danh sách API như OpenAPI hoặc SOAP WSDL để Burp Suite tự động phát hiện các endpoint, tham số và phương thức xác thực, từ đó tiến hành quét và phát hiện các lỗ hổng bảo mật tiềm ẩn trong API.

Chức năng này ngày càng một hoàn thiện và đem lại nhiều hiệu quả, giúp tiết kiệm khá nhiều thời gian và giảm các sai sót cho pentester. Burp Suite là một công cụ mạnh mẽ dành cho pentester và chuyên gia bảo mật, giúp kiểm tra lỗ hổng của các ứng dụng web và API.

Trong bài viết này, chúng ta sẽ đi qua từng bước thực hiện Pentest API bằng Burp Suite, từ việc thiết lập scan API đến kiểm thử các lỗ hổng bảo mật phổ biến.

Chọn Kiểu Pentest API (Scan Type)

Đối với pentest API, hãy chọn “API-only scan” để tối ưu quá trình quét

Khi thực hiện pentest API với Burp Suite, bước đầu tiên là chọn kiểu quét (Scan Type). Burp Suite cung cấp ba lựa chọn:

  • Crawl and Audit: Thu thập bề mặt tấn công và quét lỗ hổng cho cả ứng dụng web và API.
  • Crawl: Chỉ thu thập bề mặt tấn công, không thực hiện kiểm tra bảo mật.
  • API-only scan: Lựa chọn phù hợp nhất để pentest API, cung cấp các tùy chọn cấu hình bổ sung.

Định Nghĩa Pentest API (OpenAPI hoặc WSDL)

Nếu API của bạn có tài liệu OpenAPI (Swagger), bạn có thể dễ dàng nhập và bắt đầu scan nhanh chóng.

Burp Suite hỗ trợ import API definition từ các định dạng phổ biến như OpenAPI (Swagger) hoặc SOAP WSDL. Bạn có thể:

  • Upload từ URL (ví dụ: OpenAPI Spec từ GitHub).
  • Tải lên từ file trên máy tính.

Xem Danh Sách Pentest API

Burp Suite sẽ tự động phân tích API Definition và hiển thị các endpoints đã phát hiện. Bạn có thể:

  • Lọc theo phương thức HTTP (GET, POST, PUT, DELETE).
  • Bỏ tick một số các endpoints (request) mà không cần pentest
  • Review qua một lượt xem các cấu trúc URL, headers và body request xem đã đúng với tài liệu chưa
Nếu API có nhiều endpoints, hãy tập trung vào các endpoints nhạy cảm như đăng nhập, thanh toán, quản lý người dùng, upload file

Cấu Hình Xác Thực API Authentication

Burp Suite sẽ tự động phát hiện phương thức xác thực được sử dụng trong API, ví dụ như Bearer Authentication (JWT). Nếu cần, bạn có thể thêm thông tin đăng nhập bằng cách nhấn vào “Add credentials”

Fixed Access Token

Trong một số trường hợp API có Access Token được có định, không thay đổi theo thời gian. Hoặc có thời gian hết hạn (Expire Time) lâu. Bạn chọn Bearer token làm phương thức xác thực. Chọn Fixed và Nhập Access Token vào ô trống.

Dynamic Token

Một số trường hợp khác, Access Token được tạo ra từ một API khác như Login, Authentication, Refresh Token. Bạn cần định nghĩa hành động cho Burp Suite để tự động lấy Token mới, bằng cách sau:

  • Chọn Dynamic nếu token cần được lấy từ một API riêng biệt.
  • Cấu hình Authentication Service URL, chọn Method (POST/GET), thêm Headers và Body.
  • Để Burp Suite biết được vị trí nào trong Response trả về là Access Token. Bạn cần khai báo Token location để Burp Suite có thể tự động trích xuất.

Tạo Scan Configuration Để Pentest API

Ngoài việc sử dụng các Preset Scan Mode (Default) mà Burp Suite có sẵn, ta có thể tự tạo một Scan Configuration riêng để Scan những lỗ hổng mà ta muốn tìm. Điều này giúp tối ưu hiệu quả và thời gian tìm kiếm. Bạn có thể đọc thêm về hướng dẫn tạo Scan Configuration riêng cho mình trên Burp Suite ở đây

Ví dụ như trên đây, ta tạo sẵn các cấu hình tuỳ chỉnh để scan các lỗ hổng SQL Injection, OS Command Injection, XXE, Directory Traversal và SSRF một cách hiệu quả và nhanh hơn.

Những Lỗ Hổng Hay Xuất Hiện Khi Pentest API

Sau khi hoàn thành các bước trên, nhấn “Scan” để bắt đầu pentest API. Burp Suite sẽ kiểm tra các endpoint và báo cáo lỗ hổng tìm thấy. Những lỗ hổng dưới đây có thể xuất hiện trong API của bạn:

  • API Authentication Bypass: Token bị lộ hoặc dễ bị đoán.
  • Broken Access Control: Người dùng có thể truy cập dữ liệu của người khác.
  • Injection Attacks: SQL Injection, OS Command Injection.
  • Insecure API Endpoints: API bị lộ trên public, không có rate-limit.

Harry Ha

Whitehat hacker, Founder at Cookie Hân Hoan, Co-founder at CyRadar, Senior Penetration Tester, OSCP, CPENT, LPT, Pentest+

svg

What do you think?

It is nice to know your opinion. Leave a comment.

Leave a reply

  • 01

    Tự Động Pentest API Bằng Burp Suite

Quick Navigation