06-05-2024
Burp Suite - Bộ công cụ mạnh mẽ cho kiểm thử bảo mật ứng dụng web
Burp Suite là gì?
Burp Suite là một bộ công cụ mạnh mẽ và phổ biến được sử dụng trong lĩnh vực kiểm thử bảo mật ứng dụng web. Được phát triển bởi PortSwigger, Burp Suite cung cấp một loạt các tính năng và chức năng cho việc phát hiện, khai thác và khắc phục các lỗ hổng bảo mật trong các ứng dụng web.
Đây là công cụ phổ biến nhất đối với các nhà nghiên cứu bảo mật và các thợ săn tiền thưởng khi tìm các bug trong các ứng dụng web. Tính dễ sử dụng của nó khiến nó trở thành sự lựa chọn phù hợp hơn so với các lựa chọn thay thế miễn phí như OWASP ZAP.
Burp Suite cung cấp một phiên bản cộng đồng miễn phí (Community) bên cạnh các phiên bản cho chuyên gia (Professional, $399 / năm) và phiên bản cho doanh nghiệp và tổ chức lớn (Enterprise, $3999 / năm).
Các chức năng chính của Burp Suite
BurpSuite chứa proxy cho phép người dùng xem và sửa đổi nội dung của các yêu cầu và phản hồi trong khi chúng đang được truyền đi. Nó cũng cho phép người dùng gửi yêu cầu/phản hồi đang được giám sát tới một công cụ có liên quan khác trong BurpSuite. Máy chủ proxy có thể được điều chỉnh để chạy trên một cổng và vòng lặp IP cụ thể. Proxy cũng có thể được cấu hình để lọc ra các loại cặp yêu cầu-phản hồi cụ thể.
2. Spider:
Spider là một trình thu thập thông tin/trình thu thập dữ liệu web được sử dụng để lập bản đồ ứng dụng web mục tiêu. Mục tiêu của việc lập bản đồ là lấy danh sách các điểm cuối để có thể quan sát chức năng của chúng và tìm ra các lỗ hổng tiềm ẩn. Việc thu thập dữ liệu được thực hiện vì một lý do đơn giản là bạn càng thu thập được nhiều điểm cuối trong quá trình trinh sát thì bạn càng sở hữu nhiều bề mặt tấn công trong quá trình thử nghiệm thực tế của mình.
3. Intruder:
Intruder là công cụ để tùy chỉnh tự động hóa chống lại các cuộc tấn công trên các ứng dụng web. Nó là một công cụ cực kỳ mạnh có thể cấu hình và được sử dụng để thực hiện một loạt các tác vụ từ việc đoán các thư mục web đơn giản đến khai thác các lỗ hổng SQL injection phức tạp.
4. Repeater:
Repeater cho phép người dùng gửi lại các yêu cầu HTTP một cách tùy chỉnh để kiểm tra và thử nghiệm các chỉnh sửa và sửa đổi của yêu cầu. Điều này giúp người dùng kiểm tra tính hợp lệ và phản ứng của ứng dụng với các thay đổi cụ thể.
5. Sequencer:
Sequencer là một trong những thành phần quan trọng trong Burp Suite, được sử dụng để đo độ ngẫu nhiên của các giá trị trong ứng dụng web. Mục tiêu của Sequencer là xác định mức độ dự đoán được của chuỗi giá trị để phân tích tính ngẫu nhiên và sự an toàn của các biến số, token hoặc session ID.
Sequencer hoạt động bằng cách thu thập một tập hợp các giá trị từ ứng dụng web và sau đó phân tích mức độ ngẫu nhiên của chúng. Các giá trị này có thể là token CSRF, session ID hoặc bất kỳ giá trị nào có tính chất ngẫu nhiên. Sau quá trình phân tích, Sequencer sẽ tạo ra một báo cáo chi tiết về độ dự đoán và tính ngẫu nhiên của các giá trị này.
6. Decoder:
Decoder là một thành phần hữu ích cho việc giải mã và mã hóa các chuỗi dữ liệu trong quá trình kiểm thử bảo mật ứng dụng web. Decoder giúp người dùng phân tích và xem nội dung của các thông tin được mã hóa hoặc mã hóa ngược trong yêu cầu và phản hồi HTTP/S.
7. Extender:
BurpSuite hỗ trợ các thành phần bên ngoài được tích hợp vào bộ công cụ để nâng cao khả năng của nó. Các thành phần bên ngoài này được gọi là BApps. Chúng hoạt động giống như phần mở rộng của trình duyệt. Chúng có thể được xem, sửa đổi, cài đặt, gỡ cài đặt trong cửa sổ Extender. Một số trong số chúng được hỗ trợ trên phiên bản cộng đồng, nhưng một số yêu cầu phiên bản chuyên nghiệp trả phí.
8. Scanner:
Scanner là một thành phần tương tác với các ứng dụng web và có thể dễ dàng phát hiện các vi phạm bảo mật nhỏ như thay đổi mật khẩu cho tới hành vi phức tạp như thực thi code từ xa. Tốc độ quét có thể được tùy chỉnh dựa trên yêu cầu của người dùng. Việc quét cũng có thể được thực hiện tại một thời điểm cụ thể và một nhiệm vụ có thể được lên lịch. Có thể xuất một báo cáo đầy đủ có chứa mô tả chi tiết cùng với các bản sửa lỗi được đề xuất được tạo ở bất kỳ định dạng nào người dùng chọn.
Các lợi ích khi dùng Burp Suite
Burp Suite cung cấp nhiều công cụ mạnh mẽ để phát hiện các lỗ hổng bảo mật trong ứng dụng web, bao gồm các cuộc tấn công như cross-site scripting (XSS), SQL injection, CSRF, lỗ hổng xác thực và nhiều hơn nữa. Các công cụ như Scanner và Intruder giúp tự động quét và kiểm tra lỗ hổng bảo mật.
Burp Suite cho phép kiểm tra hiệu suất và tính bảo mật của tường lửa và bộ lọc web. Các công cụ như Repeater và Intruder cho phép người dùng gửi các yêu cầu tùy chỉnh và kiểm tra phản ứng của ứng dụng dưới nhiều điều kiện khác nhau.
Burp Suite cung cấp Proxy để người dùng có thể theo dõi, chỉnh sửa và phân tích yêu cầu và phản hồi HTTP/S. Điều này giúp hiểu rõ hơn về cấu trúc, nội dung và tương tác giữa các thành phần trong ứng dụng web.
Burp Suite cho phép mô phỏng các cuộc tấn công bằng cách sử dụng công cụ Intruder. Người dùng có thể tùy chỉnh và tự động hóa việc gửi các yêu cầu tùy chỉnh với các tham số khác nhau để kiểm tra tính bảo mật và sự kiên nhẫn của ứng dụng.
Burp Suite cung cấp các công cụ để quản lý và tương tác với phiên làm việc như quản lý cookie, token CSRF, session ID và các thông tin xác thực khác. Điều này giúp kiểm tra tính an toàn và đảm bảo tính chính xác của quá trình xác thực và quản lý phiên làm việc trong ứng dụng web.
Burp Suite cho phép tạo báo cáo chi tiết về kết quả kiểm thử bảo mật, lỗ hổng phát hiện và các hoạt động trong quá trình kiểm thử. Nó cũng có tính năng ghi lại hoạt động để lưu trữ và xem lại các hoạt động đã thực hiện trong quá trình kiểm thử.
Tìm hiểu Burp Suite thông qua kịch bản
Các tính năng khác nhau của Burp Suite bao gồm proxy, spider, intruder, repeater, sequencer, decoder và comparer. Ở phần tìm hiểu Burp Suite này, chúng ta sẽ học cách sử dụng chúng một cách liền mạch.
Hình 1. Burp Suite và bộ công cụ hỗ trợ
Kịch bản của chúng ta sẽ xoay quanh form đăng nhập Wikipedia (dummyuser: dummypassword) như trong Hình 2. Đầu tiên, chuyển chế độ chặn "on" trong suite. Các Forward tùy chọn cho phép bạn gửi các gói tin từ IP nguồn đến IP đích. Các Drop tùy chọn cho phép bạn loại bỏ các gói tin nếu bạn cảm thấy nó không cần phân tích.
Hình 2. Form đăng nhập Wikipedia
Hình 3. Chặn thông tin đăng nhập với proxy Burp
Hình 3 cho thấy các thông tin đăng nhập của en.wikipedia.org bị bắt. Lưu ý rằng Wikipedia sử dụng HTTP thay vì HTTPS, do đó thông tin đăng nhập được ghi lại trong văn bản rõ ràng. Đối với HTTPS, chúng ta sẽ cần sử dụng các trình rút gọn như sslstrip,…
Proxy Burp ghi lại các chi tiết cookie và các tiêu đề HTTP của trang. Hình 4 và Hình 5 cho thấy thiết lập cần thiết để sử dụng tính năng này.
Hình 4. Các tùy chọn để thiết lập trước khi chặn
Trình nghe proxy Burp được bật trên Cổng 8080 của local host. Có nhiều tùy chọn khác nhau để thiết lập chặn, bao gồm các phương thức yêu cầu, các extensions phù hợp và phạm vi URL cho các yêu cầu của khách hàng. Các tùy chọn khác như loại yêu cầu, loại nội dung và phạm vi URL trong các phản hồi của máy chủ có sẵn và có thể được chọn dựa trên kịch bản tấn công.
Bước tiếp theo trong kịch bản này là thiết lập trình duyệt trong đó quy trình yêu cầu phản hồi được định tuyến thông qua cổng 8080 trên máy chủ lưu trữ cục bộ.
Hình 5. Thiết lập trình duyệt
Đi tiếp trong hướng dẫn sử dung Burp Suite, một loạt các bước khác nhau có thể được thực hiện từ thời điểm này. Việc ghi lại có thể bị loại bỏ, hoặc gửi đến spider hoặc sequencer hoặc comparer. Có một tùy chọn để thay đổi các phương thức yêu cầu từ GET thành POST, v.v. Công cụ này cũng cho phép sửa đổi các tiêu đề và thực hiện những thứ “thú vị” khác với các gói HTTP đang chuyển tiếp, điều này có thể khá nguy hiểm trong một số trường hợp nhất định.
Sơ đồ trang web Burp và phạm vi trang web Phần hướng dẫn này của Burp Suite mô tả cách chọn phạm vi kiểm thử bảo mật. Hình 6 cho thấy sơ đồ trang web và phạm vi trang web, hiển thị các phần khác nhau của một domain cụ thể. Một số lượng lớn các tên miền phụ được hiển thị trong www.google.com. Cũng lưu ý rằng các trang được truy cập được hiển thị bằng màu tối.
Hình 6. Sơ đồ trang web, phạm vi trang web và tìm kiếm từ khóa
Ảnh chụp màn hình trong Hình 6 cho thấy tìm kiếm được thực hiện bởi người dùng bằng cách sử dụng công cụ tìm từ khóa. Trong trường hợp này cụm từ tìm kiếm “security” được tô sáng.
Hình 7. Sơ đồ trang web của Google
Hình 7 cho thấy sơ đồ trang web của Google. Bất kỳ tên miền phụ quan tâm nào cũng có thể được chọn để kiểm tra thêm, dựa trên kịch bản pen-testing. Trong khi Google đã được sử dụng cho hướng dẫn Burp Suite này, ứng dụng Web đích có thể là bất kỳ ứng dụng nào khác theo yêu cầu để phân tích.
Số lượng thread là số lượng các thread đồng thời đang được sử dụng. Đối với kiểm thử tại local, số lượng này có thể cao. Số lượng thread cao hơn nghĩa là việc xử lý nhanh hơn, nhưng cũng có tải trọng lớn hơn.
Hình 8. Tab Tùy chọn spider Burp
Burp spider: Công cụ spider được sử dụng để nhận danh sách đầy đủ các URL và thông số cho mỗi trang web. Công cụ này xem xét từng trang được truy cập theo cách thủ công và đi qua mọi liên kết mà nó tìm thấy trong phạm vi kiểm tra. Khi sử dụng Burp Spider, hãy đảm bảo rằng proxy và bộ chặn được tắt. Thêm các liên kết bằng tay truy cập tốt hơn, vì nó mang lại cho spider một vùng phủ sóng lớn hơn.
Chúng ta sẽ thiết lập spider bằng menu Tùy chọn. Quan trọng là xác thực và đếm số thread. Trường xác thực có thể được thiết lập với sự kết hợp tên người dùng và mật khẩu để khi spider đi qua một trang đăng nhập, nó có thể tự động trải qua quá trình xác thực. Hình 8 cho thấy tab Tùy chọn của spider Burp.
Sau khi chạy xong, bước tiếp theo trong kịch bản này là sử dụng máy quét để thử nghiệm. Các kiểm thử có thể active hoặc passive.Các kiểm thử active gửi dữ liệu và phân tích các khả năng. Kiểm thử passive kiểm tra tất cả lưu lượng truy cập và xác định các lỗ hổng hiện diện trong ứng dụng. Kết quả kiểm thử phải luôn được xác thực vì không có công cụ tự động nào là hoàn hảo. Burp Suite có thể được sử dụng để phát hiện các lỗ hổng SQL và XSS .
Kết luận:
Burp Suite cũng cung cấp nhiều tính năng khác như kiểm thử phân tích trí tuệ, đo lường hiệu suất ứng dụng, theo dõi và ghi lại các hoạt động liên quan đến bảo mật, và hỗ trợ tiện ích mở rộng cung cấp tính năng tùy chỉnh.
Với giao diện dễ sử dụng và tính năng linh hoạt, Burp Suite đã trở thành công cụ quan trọng trong quá trình kiểm thử bảo mật ứng dụng web. Nó được sử dụng rộng rãi bởi các chuyên gia bảo mật và nhà phát triển trên toàn thế giới để tìm và khắc phục các lỗ hổng bảo mật trong ứng dụng web.