Что такое YTowOnt9?

345

Наша (PHP) инфраструктура иногда предоставляет скрытые входные данные со значением YTowOnt9. Я не могу найти эту строку нигде в (огромной) кодовой базе и не могу понять, откуда она взялась. Я решил Google для этой конкретной строки, и результат меня удивил. Более полумиллиона - случайные хиты. Я не нашел ни одной страницы, описывающей само значение. У него 0 попаданий по переполнению стека.

Это YTowOnt9какая-то волшебная нить?

Шерлок
источник
2
Всегда одно и то же значение? Если бы это было случайно, я бы сказал, что это может быть токен CSRF или что-то в этом роде.
Платиновая Лазурь
Всегда одно и то же значение; это точно такое же значение имеет 500 000 просмотров в Google.
Шерлок
Это похоже на соль или жетон для чего-то. Это всегда одна и та же строка? Даже если вы выходите из системы и удаляете куки / кеш или используете другой браузер?
Юрик
Какой PHP-фреймворк вы используете?
j08691
3
Это пользовательская структура, и обратите внимание, что эта строка встречается в Google сотни тысяч раз.
Шерлок

Ответы:

564

Похоже, это PHP- сериализованный пустой массив с кодировкой base 64.

$ base64 -D <<< 'YTowOnt9'
a:0:{}
$ php -r 'var_dump(unserialize(base64_decode("YTowOnt9")));'
array(0) {
}

Существует много сценариев, которые сериализуют массивы данных. Когда у массивов есть данные, они сильно различаются, так что и PHP-сериализованные значения, закодированные в Base64 , тоже имеют значение, но когда они пусты, они все одинаковы. Это выглядит так, как будто многие очень разные PHP-скрипты имеют эту общую строку.

Кодзиро
источник
24
YTowOnt9=a:0:{}
Тим С.
42
@kojiro, с какой стати ты получил этот ответ? Вы просто подумали: «О, я просто попытаюсь десериализовать это в base64, у меня такое чувство, что это будет!» ? пожалуйста, уточните! :)
Тысяча
101
Некоторое время я смотрел на него и пытался переставить буквы в своей голове. Затем я внезапно понял, что странная заглавная буква напомнила мне о базе 64. Поэтому я попробовал это и мне повезло.
Кодзиро
10
@ AdrianFrühwirth GNU base64использует -dдля обозначения декодирования, поэтому в вашем случае, вероятно, да. Автор ответа скорее всего на OS X, который использует -Dдля декодирования. Переносимость это сложно. :-)
Танатос,
16
@kojiro, я не уверен, что имеет смысл называть base64 «сжатием» (даже не «очень плохим сжатием»), учитывая, что выходной текст постоянно на 33% больше, чем входной.
tobyink