Khi sử dụng Burp Suite, bạn có thể thường bắt gặp dữ liệu đang sử dụng một số dạng mã hóa. Mã hóa thường được thiết kế để cấu hình dữ liệu để hệ thống máy tính có thể xử lý nó, không may thay, nó thường khiến nó không thể, hoặc ít nhất là khó đọc. Trong một số trường hợp, dữ liệu có thể được giải mã trở lại dạng con người có thể đọc được, nhưng trong các trường hợp khác, dữ liệu được mã hóa đã là ngẫu nhiên và sẽ không tạo ra kết quả dễ hiểu. Burp bao gồm một công cụ có tên là “Bộ giải mã” để giúp giải mã dữ liệu để bạn có thể xem nội dung của nó hoặc nếu nó không chứa dữ liệu mà con người có thể đọc được.
Cách giải mã dữ liệu
Để thêm dữ liệu vào Bộ giải mã, bạn có thể nhập dữ liệu theo cách thủ công, dán từ khay nhớ tạm hoặc bạn có thể nhấp chuột phải vào dữ liệu đó trong các tab Mục tiêu, Proxy, Kẻ xâm nhập hoặc Bộ lặp và nhấp vào “Gửi tới Bộ giải mã”. Bạn có thể làm điều này với toàn bộ yêu cầu; tuy nhiên, nói chung sẽ hữu ích hơn nếu chỉ giới hạn dữ liệu bạn muốn được giải mã bằng cách đánh dấu nó trước khi bạn nhấp chuột phải.
Nhấp chuột phải vào dữ liệu bạn muốn được giải mã, sau đó nhấp vào “Gửi tới bộ giải mã”.
Khi bạn đã có dữ liệu trong Bộ giải mã, bạn có thể giải mã bằng cách nhấp vào nút "Giải mã dưới dạng" ở bên phải và chọn sơ đồ mã hóa mà bạn cho rằng nó đang sử dụng. Tất cả các tùy chọn sẽ hoạt động cho bất kỳ đầu vào nào, nhưng chúng có thể không tạo ra các ký tự có thể in được, điều này thường có nghĩa là nó không sử dụng mã hóa đó hoặc dữ liệu chỉ được tạo ngẫu nhiên.
Các mã hóa bạn có thể chọn giữa là Plain, URL, HTML, Base64, ASCII hex, Hex, Octal, Binary và Gzip. Chọn một trong những thứ này từ hộp thả xuống và Burp sẽ hiển thị đầu ra trong một hộp mới bên dưới. Hộp mới đi kèm với bộ điều khiển giống hệt của riêng nó, vì vậy nếu bạn thấy rằng đầu ra vẫn được mã hóa, bạn có thể giải mã lại nó, ngay cả khi kiểu giải mã khác. Ví dụ: nếu bạn giải mã một chuỗi Base64 và tìm một chuỗi Base64 khác, bạn cũng có thể giải mã chuỗi đó.
Mẹo: Bạn có thể xâu chuỗi nhiều cấp độ giải mã lại với nhau; bạn không bị giới hạn ở một hoặc hai giai đoạn.
Bạn có thể giải mã dữ liệu, sau đó giải mã lại kết quả, nếu có nhiều mức mã hóa.
Cách mã hóa dữ liệu
Bạn cũng có thể sử dụng Bộ giải mã để mã hóa dữ liệu trong tất cả các phương pháp mã hóa hiện có bằng cách nhấp vào “Mã hóa dưới dạng” và chọn một phương pháp mã hóa. Điều này rất hữu ích nếu bạn cần giải mã một chuỗi, sửa đổi nó, sau đó cần mã hóa lại để chèn thay đổi vào một yêu cầu web.
Mẹo: Mã hóa không đặc biệt thông minh; ví dụ: các ký tự chữ và số không cần được mã hóa trong URL vì chúng là các ký tự hợp lệ, nhưng bộ mã hóa URL sẽ mã hóa mọi ký tự.
Bạn cũng có thể tạo hàm băm của một chuỗi bằng cách nhấp vào “Hash” và sau đó chọn một thuật toán. Burp không đưa ra cách đảo ngược hàm băm vì điều này không thể thực hiện được vì hàm băm là hàm một chiều.
Mẹo: Bất kỳ sự kết hợp nào giữa giải mã, mã hóa và băm đều có thể thực hiện được với Bộ giải mã, mặc dù một số thứ tự hoạt động sẽ không hợp lý.
Bạn cũng có thể sử dụng Bộ giải mã để mã hóa dữ liệu hoặc băm dữ liệu.
Bạn có thể giải mã, mã hóa hoặc băm một phần của chuỗi trong Bộ giải mã bằng cách đánh dấu nó trước khi chọn cách xử lý. Điều này rất hữu ích nếu bạn có hai biến được mã hóa bằng các phương pháp khác nhau.
Lưu ý: Bộ giải mã không hỗ trợ tab phụ, vì vậy bạn chỉ có thể quản lý một đầu vào tại một thời điểm. Hãy cẩn thận sao chép kết quả của một quá trình trước khi gửi thêm dữ liệu đến Bộ giải mã trừ khi bạn không làm mất nó.