Burp Collaborator là một tính năng trong công cụ kiểm thử bảo mật Burp Suite, được sử dụng để phát hiện các lỗ hổng bảo mật trong ứng dụng. Burp Collaborator chủ yếu được thiết kế để giúp phát hiện các lỗ hổng như: Server-side request forgery, Server side Cross-Site Scripting, Blind SQL injection, Command injection, Deserialize vulnerability, Blind Cross-Site Scripting, …
Tuy nhiên, khi mình phải fuzzing 1 số lượng lớn payload trên 1 hệ thống lớn để tìm lỗi bảo mật thì phải dùng thể nào???
Vào 1 ngày đẹp trời, mình tự hỏi cách mà Burp Collaborator hoạt động, cách mà Burp Suite lấy dữ liệu từ tương tác của người dùng từ Burp Collaborator Server và hiển thị trên Burp Suite.
Đầu tiên, mình mày mò các option setting trên Burp Suite.
Lướt qua 1 loạt các option, thì chiếc option cuối cùng rất là đáng để tick vào.
Rất rõ ràng Burp Suite đã ghi rõ Poll over unencrypted HTTP. Như vậy với option này có thể mạnh dạn đoán rằng Burp Suite sẽ giao tiếp với Burp Collaborator Server để lấy dữ liệu mà người dùng tương tác với Burp Collaborator.
Như vậy mình nhanh tay bật Wireshark lên và xem diễn biến gói tin HTTP thôi.
Sau khi bật Wireshark lên, lọc giao thức HTTP và Click Poll Now trên Burp Collaborator thì ta được kết quả như bên dưới:
URL mà Burp gọi đến để POLL là:
http://polling.oastify.com/burpresults?biid={your_ biid}
Theo mình đoán thì tương ứng mỗi 1 Burp Collaborator subdomain sẽ là 1 giá trị biid.
Như vậy đã rõ, mình chỉ cần viết 1 đoạn script tự động truy cập URL trên để lấy kết quả định kỳ của Burp Collaborator subdomain tương ứng, sau đó bắn thông báo về telegram. Vậy là có thể yên tâm hardcoded Burp Collaborator subdomain vào các payload fuzzing và nằm chờ kết quả rồi 😀
Một vấn đề còn vương vấn là giá trị biid có hết hạn không? Thì câu trả lời là mình chạy vài tháng rồi mà vẫn chưa hết hạn nhé các bạn ^^
Dưới đây là đoạn script mình dùng: