Що таке "YTowOnt9"?


345

Наша (PHP) структура іноді надає приховані вхідні значення YTowOnt9. Я не можу знайти цей рядок ніде у (величезній) кодовій базі, і не можу зрозуміти, звідки він походить. Я зважився на Google саме для цієї строки, і результат мене здивував. Понад півмільйона - випадкових випадків. Я не знайшов жодної сторінки, яка описувала б саме значення. У ньому 0 звернень на стеку Overflow.

Є чи YTowOnt9яке - то чарівна рядок?


2
Завжди однакове значення? Якби це було випадковим чином, я б сказав, що це може бути маркер CSRF чи щось подібне.
Platinum Azure

Завжди однакове значення; таке саме значення має 500 000 звернень у Google.
Шерлок

Це схоже на сіль або жетон для чогось. Чи завжди це одна струна? Навіть якщо ви виходите з системи та видаляєте файли cookie / кеш або використовуєте інший браузер?
Юрік

Яку рамку PHP ви використовуєте?
j08691

3
Це власні рамки, і зауважте, що ця струна трапляється сотні тисяч разів в Google.
Шерлок

Відповіді:


564

Здається, це PHP - серіалізований порожній масив, кодований базою 64.

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

Існує багато сценаріїв, які серіалізують масиви даних. Коли масиви мають дані, вони сильно різняться, тому значення, кодовані Base64, PH-серіалізовані PHP, теж роблять, але коли вони порожні, вони однакові. Це дозволяє виглядати так, ніби багато дуже різних сценаріїв PHP мають спільну цю випадкову рядок.


24
YTowOnt9=a:0:{}
Тім С.

42
@kojiro як же ти дійшов до цієї відповіді? ви просто думали, "о, я просто спробую десеріалізувати це в base64, я відчуваю це відчуття, що воно буде!" ? будь ласка, докладно! :)
Тисяча

101
Я деякий час дивився на це і намагався переставити букви в голові. Тоді я раптом зрозумів, що дивна капіталізація нагадала мені базу 64. Тому я спробував це і пощастило.
kojiro

10
@ AdrianFrühwirth base64використовує GNU -dдля позначення декодування, тому у вашому випадку, ймовірно, так. Автор відповіді, швидше за все, в OS X, який використовується -Dдля декодування. Переносність важка. :-)
Танатос

16
@kojiro, я не впевнений, що має сенс іменувати base64 як "стиснення" (навіть не "дуже погана компресія"), враховуючи, що вихідний текст стабільно на 33% більший, ніж вхідний.
tobyink
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.