(Вопрос щедрости внизу)
У меня проблема с клиентом, обращающимся к нашему сайту, и основная причина в том, что WAF (брандмауэр веб-приложений) не нравится их строка User-Agent:
User-Agent: Mozilla/5.0 (X11; Linux i686; rv:34.0; C7QcSBPWTsrpX5YLvVZMqiujEZLWPtOYk3tDZ9WhW18=) Gecko/20100101 Firefox/34.0
В этом случае строка в кодировке base64 вызывает ложный положительный результат в WAF, который считает, что User-Agent является libwww-perl. Строка base64 не декодируется для любого читаемого текста.
- Является ли строка в кодировке base64 внутри User-Agent нормальной или необычной?
- Охвачено ли использование строк base64 внутри User-Agent какими-либо RFC или рекомендациями основных поставщиков?
Я пытаюсь понять, что здесь происходит; Я не чувствую, что подпись WAF полностью не соответствует линии, поэтому я бы предпочел не просто отключить ее, но я раньше не видел такого рода строки User-Agent, так что я бы лучше понял, насколько распространены и / или законный вариант использования это.
Сайт предназначен для использования людьми с браузерами - это не API или что-то в этом роде - и мне сообщили, что пользователь попытался зайти на сайт с помощью «FF / IE / Chrome» и потерпел неудачу. Однако я показываю успешные соединения с того же IP-адреса клиента с пользовательским агентом Opera:
User-Agent: Opera/9.80 (X11; Linux i686) Presto/2.12.388 Version/12.16
Немного странно, что пользователь сообщает, что попробовал IE, но все строки User-Agent, которые я вижу, выглядят как Linux. (Как обычно, контакт с конечным пользователем осуществляется через несколько сторон, поэтому я не могу полностью доверять тому, что слышу). Также вероятно, что IP является исходящей стороной веб-прокси бизнес-класса, что объясняет, почему я вижу, как какая-то Opera работает на кого-то, а кто-то другой сообщает о проблемах с того же IP.
Обновить
Вдохновленный примером @PlanetScaleNetworks, я погуглил строку и оттуда в конечном итоге использовал UA Tracker для поиска строк base64 (или подмножества из них, которые были дополнены - я искал "=)"). Возвращено около 20 User-Agent:
Я собираюсь добавить вознаграждение к этому вопросу, и пространство для ответов, которое я ищу, это «какое программное обеспечение помещает строки base64 в User-Agents и почему? И есть ли какой-либо знак легитимности для этой практики? "
Незначительная точка:
Пользователь обошел нашу проблему, используя плагин браузера для изменения своего User-Agent, так что теперь это академическая проблема - но я думаю, что это интересная академическая проблема :)