Công cụ dành cho nhà phát triển · Bộ mã hóa và giải mã Base64
Giải mã mã thông báo Base64 trực tuyến: tại sao công cụ này nên chạy trong trình duyệt của bạn
· Tại sao nó quan trọng
base64 quyền riêng tư
Nhiều bộ giải mã trực tuyến gửi thông tin đầu vào của bạn đến máy chủ, điều đó có nghĩa là mọi mã thông báo, thông tin xác thực và tải trọng bạn dán đều được tiết lộ. Bài đăng này giải thích những gì rò rỉ, cách xác minh một công cụ luôn ở trạng thái cục bộ và tại sao bộ giải mã của ToolAcre lại hoạt động theo cách đó.
Khóa API đi qua máy chủ của người lạ — nội dung mà việc dán mã thông báo vào bộ giải mã đăng biểu mẫu thực sự truyền đi
Kỹ sư cần kiểm tra phản hồi JWT hoặc API được mã hóa Base64 để gỡ lỗi hệ thống. Họ mở công cụ tìm kiếm yêu thích của mình, tìm công cụ giải mã trực tuyến và dán mã thông báo vào trường nhập của nó. Công cụ hiển thị tải trọng được giải mã ngay lập tức và kỹ sư sẽ quay lại làm việc. Những gì họ không nhìn thấy là những gì đã được chuyển đến máy chủ: toàn bộ mã thông báo, với mọi thông tin xác thực, xác nhận quyền sở hữu và chi tiết cá nhân có trong đó. Yêu cầu đó đã được ghi lại, lưu trữ trong nhật ký truy cập máy chủ, có thể được lưu trữ bởi proxy và chắc chắn hiển thị đối với bất kỳ ai giám sát lưu lượng truy cập mạng.
Lựa chọn thông thường để sử dụng bộ giải mã trực tuyến đã tiết lộ mã thông báo sản xuất cho một dịch vụ mà họ không kiểm soát. Bài đăng này giải thích những gì rò rỉ khi bạn dán vào bộ giải mã từ xa, cách xác minh rằng công cụ vẫn cục bộ và tại sao bộ giải mã ToolAcre hoạt động trong trình duyệt nên bí mật của bạn không bao giờ được chuyển đến máy chủ. JWT (JSON Mã thông báo Web) chứa các xác nhận quyền sở hữu được mã hóa được phân tách bằng dấu chấm. Khi được giải mã, phần giữa thường tiết lộ ID người dùng, địa chỉ email, vai trò, thời gian phát hành và đôi khi là khóa API hoặc số nhận dạng phiên.
Nội dung tải trọng Base64 thường chứa — thông tin đăng nhập, xác nhận quyền sở hữu JWT, dữ liệu phiên và thông tin cá nhân
Tải trọng Base64 trong phản hồi API có thể chứa tệp tải lên, chữ ký hoặc khóa mã hóa một phần. Tất cả đều là dữ liệu nhạy cảm không nên rời khỏi thiết bị của bạn. Tuy nhiên, khi nhà phát triển sao chép một giá trị như vậy từ thiết bị đầu cuối hoặc phản hồi HTTP và dán nó vào bộ giải mã trực tuyến để đọc nội dung nhanh chóng, giá trị đó sẽ chuyển thẳng đến máy chủ từ xa. Nếu bộ giải mã xử lý nhiều người dùng, một máy chủ có thể đang tích lũy cơ sở dữ liệu gồm hàng nghìn mã thông báo và tải trọng.
Ngay cả khi máy chủ xóa chúng sau khi xử lý, chúng vẫn được ghi lại, hiển thị trong quá trình truyền và có khả năng bị chặn hoặc lưu trữ bởi các dịch vụ khác. Sự khác biệt giữa bộ giải mã khứ hồi máy chủ và bộ giải mã trong tab là tuyệt đối. Một biểu mẫu trên trang web yêu cầu yêu cầu POST hoặc GET để giải mã dữ liệu nhập của bạn có nghĩa là dữ liệu của bạn sẽ di chuyển đến máy chủ từ xa. Ngay cả khi máy chủ trung thực và xóa dữ liệu ngay lập tức thì lưu lượng truy cập vẫn bị lộ. Proxy, bộ cân bằng tải, hệ thống giám sát và TLS điểm cuối đều nhìn thấy yêu cầu.
Hai kiến trúc: giải mã khứ hồi máy chủ và giải mã trong tab — nơi chứa các byte trong mỗi byte và ai có thể ghi nhật ký chúng
Nếu máy chủ không trung thực hoặc bị xâm phạm, mã thông báo của bạn hiện được lưu trữ trong cơ sở dữ liệu thuộc về người khác. Bộ giải mã trong tab có nghĩa là không có yêu cầu nào được gửi cả. Văn bản bạn nhập, chuỗi Base64 bạn dán và kết quả được giải mã đều nằm trong trình duyệt trên thiết bị của bạn. Không có máy chủ nào được liên hệ, không có bên thứ ba nào nhìn thấy dữ liệu và JavaScript của trình duyệt thực hiện chuyển đổi. Việc tự kiểm tra mất một phút và chỉ yêu cầu bảng Mạng tích hợp trong trình duyệt.
Mở bộ mã hóa & giải mã Base64 trong tab mới, mở bảng điều khiển dành cho nhà phát triển (F12 trong hầu hết các trình duyệt) và nhấp vào tab Mạng. Đảm bảo danh sách trống hoặc nhấp vào nút xóa. Bây giờ hãy dán mã thông báo mẫu hoặc chuỗi Base64 vào bộ giải mã và nhấp vào Giải mã. Xem bảng điều khiển Mạng một cách cẩn thận. Nếu nó hoàn toàn trống và không có yêu cầu mới nào xuất hiện thì quá trình giải mã sẽ diễn ra cục bộ trong trình duyệt. Nếu một yêu cầu tới máy chủ xuất hiện thì yêu cầu đó chứa dữ liệu của bạn.
Cách tự kiểm tra trong bảng điều khiển mạng — xem các yêu cầu trong khi bạn dán và bảng điều khiển yên tĩnh chứng tỏ điều gì
Ngoài ra, hãy mở nguồn trang HTML hoặc JavaScript (nhấp chuột phải, Xem nguồn trang) và tìm kiếm nơi biểu mẫu đăng hoặc tìm nạp. Nếu nó gửi đến một điểm cuối từ xa không cùng miền với trang được tải từ đó thì dữ liệu đầu vào của bạn sẽ rời khỏi thiết bị. Kiểm tra bảng Mạng nhanh chóng để chứng minh xem bộ giải mã là cục bộ hay từ xa. Một công cụ cục bộ nghiêm ngặt sẽ không đưa ra yêu cầu nào khi bạn giải mã nội dung nào đó. Không có yêu cầu GET với thông tin đầu vào của bạn làm tham số, không có POST với dữ liệu biểu mẫu, không có lệnh gọi tìm nạp tới API.
Bảng điều khiển vẫn hoàn toàn trống trong quá trình hoạt động. Điều này không khó để giả mạo; một công cụ thông minh có thể giải mã cục bộ và cũng gửi dữ liệu của bạn đến máy chủ theo dõi. Đó là lý do tại sao việc kiểm tra Chính sách bảo mật nội dung cũng quan trọng. Chính sách bảo mật nội dung nghiêm ngặt, hiển thị trong tab tiêu đề phản hồi của bảng Mạng, loại trừ nhiều loại cuộc gọi bên ngoài. Chính sách cấm các tập lệnh, phông chữ và hình ảnh bên ngoài, đồng thời không cho phép các bài đăng trên biểu mẫu đến các điểm cuối tùy ý sẽ hạn chế những gì một trang độc hại hoặc bị xâm phạm có thể thực hiện.
Tại sao không có phân tích và không có tập lệnh của bên thứ ba nào quan trọng — Chính sách bảo mật nội dung nghiêm ngặt loại trừ việc rò rỉ âm thầm như thế nào
CSP không phải là sự đảm bảo tuyệt đối nhưng kết hợp với kiểm tra Mạng thì đó là bằng chứng thuyết phục rằng công cụ này đang thực hiện những gì nó tuyên bố. Để xác minh đầy đủ, hãy giải mã mã thông báo mẫu trong khi xem ba thứ cùng một lúc: bảng Mạng, nguồn trang cho các yêu cầu bên ngoài và tiêu đề CSP.
Một trang không đưa ra yêu cầu, không bao gồm JavaScript bên thứ ba và tuyên bố CSP nghiêm ngặt cấm tải thêm sẽ khó thỏa hiệp hơn nhiều so với trang cho phép mọi thứ. Bộ mã hóa và giải mã Base64 sử dụng phương pháp này: các hoạt động chạy trong Web Worker trên thiết bị của bạn, trang web có CSP nghiêm ngặt cấm mã bên ngoài và trang không đưa ra yêu cầu mạng nào khi bạn giải mã.
Ví dụ đã hoạt động: giải mã mã thông báo mẫu khi bảng điều khiển mạng đang mở - không yêu cầu, không lưu trữ, không có gì để xóa sau đó
Bạn có thể tự kiểm tra điều này trong bảng Mạng, bảng điều khiển trình duyệt và nguồn trang, sau đó tin tưởng vào quan sát của chính bạn thay vì lời hứa về quyền riêng tư của công cụ. Bối cảnh rộng hơn rất quan trọng vì không phải tất cả các vụ rò rỉ token đều đến từ các bộ giải mã độc hại. Tiện ích mở rộng trình duyệt giám sát tất cả các yêu cầu lưu lượng truy cập và nhật ký có thể thấy những gì bạn dán vào một công cụ cục bộ trung thực nếu tiện ích mở rộng bị xâm phạm hoặc độc hại. Trình quản lý clipboard lưu trữ mọi thao tác sao chép và dán để thuận tiện có thể giữ lại mã thông báo của bạn.
Lướt qua vai, trong đó ai đó xem màn hình của bạn trong khi bạn làm việc, ghi lại trực tiếp giá trị được giải mã. Đây là bên ngoài bất kỳ kiểm soát công cụ web. Bản thân bộ giải mã không thể bảo vệ khỏi sự truy cập ở cấp độ mở rộng hoặc sự quan sát vật lý. Nhưng nó có thể và phải loại bỏ khả năng tiếp xúc với máy chủ trong suốt chuyến đi. Nếu bạn định dán mã thông báo sản xuất thực vào bất kỳ thứ gì, công cụ đó phải chạy cục bộ. Quyết định sử dụng bộ giải mã cục bộ hay từ xa là một lựa chọn bảo mật sẽ được củng cố theo thời gian. Sử dụng bộ giải mã từ xa một lần có nghĩa là một mã thông báo bị lộ và một máy chủ có dữ liệu.
Điều này không bao gồm những gì - tiện ích mở rộng trình duyệt, trình quản lý clipboard và lướt vai, nằm ngoài tầm kiểm soát của bất kỳ công cụ web nào
Việc sử dụng bộ giải mã từ xa thường xuyên có nghĩa là hàng trăm mã thông báo sẽ chảy qua các máy chủ mà bạn không kiểm soát. Một nhà phát triển có thói quen dán các giá trị nhạy cảm vào các công cụ trực tuyến sẽ dần dần rèn luyện bản thân rằng điều đó có thể chấp nhận được, bình thường hóa mức hiển thị. Việc chuyển sang bộ giải mã cục bộ sẽ loại bỏ hoàn toàn mức độ hiển thị ở cấp độ công cụ. Nó không giải quyết được các vấn đề khác như mã thông báo xuất hiện trong nhật ký hoặc lịch sử trò chuyện, nhưng nó giúp loại bỏ một nguồn rò rỉ có thể kiểm soát được. Việc xác minh một công cụ vẫn ở trạng thái cục bộ là vấn đề kiểm tra các thông tin có thể quan sát được chứ không phải các xác nhận quyền sở hữu đáng tin cậy.
Lưu lượng truy cập bảng điều khiển mạng, mã nguồn trang, tiêu đề HTTP và lỗi bảng điều khiển trình duyệt đều cung cấp bằng chứng. Khi một công cụ tuyên bố là có tính cục bộ nhưng bạn không có cách nào để xác minh nó thì sự hoài nghi là có cơ sở. ToolAcre Bộ mã hóa & giải mã Base64 chạy hoàn toàn trong trình duyệt của bạn và không đưa ra yêu cầu nào khi bạn giải mã. Bạn có thể mở tab Mạng, dán mã thông báo thực, giải mã nó và không thấy yêu cầu gửi đi nào. Giá trị được giải mã chỉ xuất hiện trong trình duyệt của bạn. Nó không được lưu trữ trên bất kỳ máy chủ nào, không được gửi đến phân tích, không được ghi ở bất kỳ đâu ngoại trừ trong bộ đệm của trình duyệt nếu bạn truy cập lại và trang được lưu vào bộ đệm.
Bài học rút ra: giải mã dữ liệu đã có ở đâu - cách bộ mã hóa & giải mã Base64 chạy hoàn toàn trong trình duyệt của bạn, không cần tài khoản và không cần tải lên
Giải mã cục bộ và mã thông báo vẫn là của bạn. Lời khuyên thực tế rất đơn giản. Khi bạn cần giải mã mã thông báo Base64 hoặc JWT, hãy sử dụng công cụ chạy cục bộ trong trình duyệt của bạn. Xác minh rằng nó không đưa ra yêu cầu nào bằng cách mở bảng Mạng và kiểm tra trong khi bạn giải mã. Nếu bạn tìm thấy một công cụ trực tuyến đăng lên máy chủ, hãy ngừng sử dụng nó. Không bao giờ dán mã thông báo sản xuất, khóa API hoặc bất kỳ dữ liệu nhạy cảm nào vào công cụ mà dữ liệu sẽ di chuyển đến máy chủ từ xa. Lưu trữ các mã thông báo có thời gian tồn tại ngắn và luân chuyển các mã có thời gian tồn tại lâu thường xuyên để giảm thiểu thời gian tiếp xúc.
Đối với bộ mã hóa và giải mã ToolAcre Base64, mã thông báo và thông tin xác thực bạn dán vẫn nằm trong tab của mình và bạn có thể tự mình xác nhận bằng cách xem nhanh bảng Mạng.