(Câu hỏi về tiền thưởng ở phía dưới)
Tôi gặp sự cố với một khách hàng truy cập trang web của chúng tôi và nguyên nhân cốt lõi là WAF (Tường lửa ứng dụng web) không giống như chuỗi Tác nhân người dùng của họ:
User-Agent: Mozilla/5.0 (X11; Linux i686; rv:34.0; C7QcSBPWTsrpX5YLvVZMqiujEZLWPtOYk3tDZ9WhW18=) Gecko/20100101 Firefox/34.0
Trong trường hợp này, chuỗi được mã hóa base64 đang kích hoạt dương tính giả trong WAF, người cho rằng Tác nhân người dùng là libwww-perl. Chuỗi base64 không giải mã thành bất kỳ văn bản nào có thể đọc được.
- Việc có một chuỗi mã hóa base64 bên trong Tác nhân người dùng là bình thường hay bất thường?
- Việc sử dụng các chuỗi base64 bên trong Tác nhân người dùng có được bao phủ bởi bất kỳ RFC hoặc thực tiễn nhà cung cấp chính nào không?
Tôi đang cố gắng hiểu những gì đang xảy ra ở đây; Tôi không cảm thấy chữ ký WAF hoàn toàn không phù hợp với đối tượng, vì vậy tôi không chỉ vô hiệu hóa nó, nhưng tôi chưa từng thấy loại chuỗi Tác nhân người dùng này trước đây vì vậy tôi hiểu rõ hơn mức độ phổ biến và / hoặc hợp pháp một trường hợp sử dụng này là.
Trang web được thiết kế để con người sử dụng với trình duyệt - nó không phải là API hay bất cứ thứ gì tương tự - và tôi đã được báo cáo rằng người dùng đã thử truy cập trang web bằng "FF / IE / Chrome" và không thành công. Tuy nhiên, tôi hiển thị các kết nối thành công từ cùng một IP máy khách với tác nhân người dùng Opera:
User-Agent: Opera/9.80 (X11; Linux i686) Presto/2.12.388 Version/12.16
Có một điều kỳ lạ là người dùng báo cáo đã dùng thử IE nhưng tất cả các chuỗi User-Agent mà tôi thấy dường như là Linux. (Như thường lệ, liên hệ với người dùng cuối được trung gian thông qua một số bên vì vậy tôi không thể hoàn toàn tin tưởng bất cứ điều gì tôi nghe thấy). Cũng có khả năng IP là phía bên ngoài của proxy web cấp doanh nghiệp, điều này sẽ giải thích lý do tại sao tôi thấy một số Opera làm việc cho ai đó trong khi người khác báo cáo sự cố từ cùng một IP.
Cập nhật
Lấy cảm hứng từ ví dụ @PlanetScaleNetworks, tôi đã tìm ra chuỗi và từ đó kết thúc bằng UA Tracker để tìm kiếm chuỗi cơ sở64 (hoặc, tập hợp con của chúng được đệm - Tôi đã tìm kiếm "=)"). Nó trả về khoảng 20 Đại lý người dùng:
Tôi sẽ thêm một phần thưởng cho câu hỏi này và không gian câu trả lời mà tôi đang tìm kiếm là "loại phần mềm nào đang đưa các chuỗi Base64 vào Đại lý người dùng, và tại sao? Và có dấu hiệu hợp pháp nào cho thực tiễn này không? "
Điểm nhỏ:
Người dùng đã giải quyết vấn đề của chúng tôi bằng cách sử dụng plugin trình duyệt để sửa đổi Tác nhân người dùng của họ, vì vậy đây hiện là một vấn đề học thuật - nhưng tôi nghĩ đó là một vấn đề học thuật thú vị :)