Nền tảng An toàn Web & Cơ chế Trình duyệt
3/20
Bài 3 / 20~12 phútGiải phẫu Web Traffic & Bộ công cụ Thực nghiệmMiễn phí… lượt xem

Thiết lập môi trường thực nghiệm với Burp Suite Community

Hướng dẫn thiết lập Burp Suite Community: cài CA Certificate, cấu hình Proxy, làm chủ Repeater và Decoder để phân tích gói tin mã hóa.

TL;DR: Burp Suite là bộ công cụ tiêu chuẩn công nghiệp giúp bảo mật viên và lập trình viên chặn bắt, mổ xẻ và chỉnh sửa lưu lượng mạng giữa trình duyệt và server. Bằng cách thiết lập proxy cục bộ và cài đặt chứng chỉ số CA vào kho tin cậy, Burp có thể giải mã toàn bộ lưu lượng HTTPS mà không bị trình duyệt cảnh báo rủi ro an ninh. Hai tính năng quan trọng nhất cho người mới bắt đầu là Proxy Intercept để bắt gói tin đang bay và Repeater để phát lại cùng một request với các tham số đã tinh chỉnh. Nắm vững Burp giúp bạn thoát khỏi giới hạn của giao diện người dùng để tương tác trực tiếp với API.

Khi một lập trình viên kiểm thử form chuyển tiền trên giao diện web, trình duyệt kiểm tra số dư và giới hạn số tiền qua mã JavaScript phía client. Nếu người dùng nhập số âm hoặc số tiền vượt quá hạn mức, nút gửi sẽ bị vô hiệu hóa. Tuy nhiên, một kỹ sư an toàn thông tin không bao giờ tin tưởng giao diện đó. Bằng cách chặn bắt gói tin HTTP khi nó vừa rời khỏi trình duyệt và sửa tham số ngay trên Burp Suite trước khi bay tới server, họ có thể kiểm chứng xem tầng backend có thực sự tự bảo vệ mình hay chỉ đang dựa dẫm vào lớp vỏ bọc frontend.

1. Kiến trúc Man-in-the-Middle của Burp Suite hoạt động thế nào?

Bình thường, khi truy cập một trang web mã hóa HTTPS, trình duyệt sẽ thiết lập một kênh TLS trực tiếp với máy chủ đích để mã hóa toàn bộ dữ liệu đi qua. Nếu bạn chỉ đặt một proxy thông thường ở giữa, proxy đó chỉ thấy các byte mã hóa hỗn loạn và không thể đọc hay sửa đổi nội dung.

Để can thiệp vào luồng dữ liệu này, Burp Suite hoạt động theo cơ chế Man-in-the-Middle (MitM):

  1. Trình duyệt thiết lập kết nối TLS Chặng 1 với Burp Proxy (thay vì server thật).
  2. Burp đóng vai trò là Server, tự động ký một chứng chỉ SSL giả lập cho tên miền đích bằng chứng chỉ nội bộ PortSwigger CA.
  3. Đồng thời, Burp đóng vai trò Client thiết lập kết nối TLS Chặng 2 với máy chủ đích thật.
  4. Nhờ đứng ở giữa hai chặng mã hóa riêng biệt, Burp có thể giải mã dữ liệu ra dạng văn bản thô (plaintext) cho bạn xem và chỉnh sửa, rồi mới mã hóa lại để gửi tiếp.

Mô hình kiểm soát lưu lượng Man-in-the-Middle của Burp Suite

2. Vì sao cần cài đặt và tin cậy Burp CA Certificate?

Bởi vì Burp tự tạo ra chứng chỉ SSL cho mọi trang web bạn truy cập, nếu bạn không cài đặt chứng chỉ gốc PortSwigger CA vào kho chứng chỉ tin cậy của hệ điều hành hoặc trình duyệt, trình duyệt sẽ lập tức hiện cảnh báo bảo mật nguy hiểm (SEC_ERROR_UNKNOWN_ISSUER hoặc NET::ERR_CERT_AUTHORITY_INVALID) và chặn toàn bộ kết nối.

Quy trình thiết lập chuẩn gồm 3 bước:

  1. Mở Burp Suite, đảm bảo Proxy Listener đang chạy tại 127.0.0.1:8080.
  2. Mở trình duyệt đã cấu hình proxy (hoặc dùng Burp's Embedded Browser), truy cập địa chỉ nội bộ http://burpsuite và nhấp nút CA Certificate ở góc phải để tải file cacert.der.
  3. Nhập file chứng chỉ này vào mục Authorities của trình duyệt và đánh dấu chọn "Trust this CA to identify websites".

Thử ngẫmKhi kiểm thử một ứng dụng di động (Mobile App), tại sao việc cài chứng chỉ CA vào máy vẫn không thể chặn bắt được gói tin nếu ứng dụng đó đã bật tính năng SSL Pinning?

3. Chặn bắt và chỉnh sửa request qua Proxy Intercept ra sao?

Tab Proxy -> Intercept là nơi bạn có thể tạm dừng dòng chảy của dữ liệu mạng.

  • Intercept is ON: Mỗi khi trình duyệt gửi một request, Burp sẽ giữ gói tin lại trên màn hình. Gói tin chưa hề rời khỏi máy của bạn.
  • Tại đây, bạn có toàn quyền:
    • Sửa đổi tham số URL, JSON body hoặc thêm bớt các trường header.
    • Bấm Forward để cho phép gói tin bay tiếp tới máy chủ.
    • Bấm Drop để hủy hoàn toàn request như thể đường truyền bị đứt.
  • Intercept is OFF: Lưu lượng mạng sẽ tự do đi qua mà không bị giữ lại, nhưng toàn bộ lịch sử vẫn được ghi chép đầy đủ trong tab HTTP history.

Dưới đây là một câu hỏi dự đoán thực nghiệm khi làm việc với Proxy Intercept:

Dự đoán hành vi (Predict): Trạng thái Intercept

Bạn bật 'Intercept is on' trong Burp, gửi một form đăng nhập từ trình duyệt nhưng quên không bấm Forward suốt 60 giây. Điều gì sẽ xảy ra ở phía client?

4. Kiểm thử biến đổi payload bằng Repeater và Decoder thế nào?

Thao tác sửa request trực tiếp trên Proxy Intercept rất dễ gây ức chế vì trình duyệt liên tục gửi kèm hàng chục request phụ (ảnh, css, tracking). Công cụ chính mà các kỹ sư sử dụng mỗi ngày là Burp Repeater:

  1. Trong tab HTTP history, nhấp chuột phải vào request bạn muốn mổ xẻ và chọn Send to Repeater (phím tắt Ctrl + R hoặc Cmd + R).
  2. Chuyển sang tab Repeater: Bạn có một giao diện chia đôi: bên trái là Request thô có thể sửa thoải mái, bên phải là Response trả về khi bấm Send.
  3. Bạn có thể gửi đi gửi lại cùng một request 100 lần với các payload khác nhau mà không cần thao tác lại trên giao diện web.

Khi gặp các chuỗi dữ liệu mã hóa như Base64, URL-encode, hoặc Hex, tab Decoder cho phép bạn giải mã đa tầng nhanh chóng mà không cần dán dữ liệu nhạy cảm lên các trang web chuyển đổi online không an toàn.

🐛 Tìm bug trong code này
// Cấu hình Proxy Listener trong Burp Suite
Proxy Listener:
Interface: 0.0.0.0:8080
Running: true
Support invisible proxying: false

5. Cấu hình Target Scope để tránh quét nhầm ngoài phạm vi ra sao?

Một sai lầm nguy hiểm của người mới là vừa bật Burp Suite vừa mở các trang web cá nhân, ngân hàng hoặc mạng xã hội. Toàn bộ cookie, token và lịch sử truy cập riêng tư sẽ bị ghi lại vào project file của Burp, đồng thời tăng nguy cơ gửi nhầm payload thử nghiệm tới các dịch vụ không được phép.

Để kiểm soát phạm vi kiểm thử:

  1. Vào tab Target -> Scope Settings.
  2. Thêm domain mục tiêu được ủy quyền (ví dụ: https://staging.mycompany.com).
  3. Quay lại tab HTTP history, nhấp vào thanh lọc ở trên cùng và chọn Show only in-scope items.
  4. Mọi lưu lượng rác từ extension trình duyệt hoặc các trang web nền khác sẽ tự động bị ẩn đi.

6. Tổng kết & Quy trình thực nghiệm an toàn

Bộ công cụ Burp Suite biến đổi hoàn toàn góc nhìn của bạn về bảo mật ứng dụng:

  • Thoát khỏi sự trói buộc của giao diện frontend để kiểm thử trực tiếp các endpoint backend.
  • Sử dụng Repeater như một phòng thí nghiệm thu nhỏ để kiểm chứng phản xạ của máy chủ trước các input dị thường.
  • Luôn tuân thủ Target Scope và ranh giới đạo đức, chỉ thực hiện kiểm thử trên các hệ thống mà bạn sở hữu hoặc được cấp văn bản ủy quyền rõ ràng.

7. Tự kiểm tra (Self-check)

Hãy củng cố năng lực thực nghiệm của bạn bằng cách trả lời các câu hỏi truy xuất chủ động dưới đây:

Tự kiểm tra
0/6 câu đã trả lời
  1. Q1
    Vì sao Burp Suite phải đóng vai trò là Man-in-the-Middle mới giải mã được lưu lượng HTTPS?
  2. Q2
    Điều gì xảy ra nếu bạn không cài đặt chứng chỉ PortSwigger Root CA vào trình duyệt khi dùng Burp?
  3. Q3
    Khi nào nên dùng Proxy Intercept và khi nào nên dùng Repeater trong thực tế?
  4. Q4
    Tab Decoder trong Burp Suite giải quyết nhu cầu gì của bảo mật viên?
  5. Q5
    Tại sao Proxy Listener của Burp nên đặt ở 127.0.0.1 thay vì 0.0.0.0?
  6. Q6
    Mục đích chính của tính năng Target Scope trong Burp Suite là gì?

Bài tiếp theo: Tự động hóa kiểm thử với cURL và Python

Bài này có giúp bạn hiểu bản chất không?

Bài này đáng gửi cho bạn học cùng?

Copy link đã gắn nguồn — dán group, chat, hoặc LinkedIn.

Thảo luận & góp ý

Hỏi đáp về bài này

Bài tiếp theo

Tự động hóa kiểm thử an toàn ứng dụng với cURL và Python