Co to jest „YTowOnt9”?

345

Nasz framework (PHP) czasami renderuje ukryte dane wejściowe z wartością YTowOnt9. Nie mogę znaleźć tego ciągu nigdzie w (ogromnej) bazie kodu i nie mogę dowiedzieć się, skąd on pochodzi. Zdecydowałem się na Google dla tego konkretnego ciągu, a wynik mnie zaskoczył. Ponad pół miliona - rodzaj losowych - trafień. Nie znalazłem żadnej strony opisującej samą wartość. Ma 0 trafień w przepełnieniu stosu.

Czy YTowOnt9jakiś magiczny sznurek?

Sherlock
źródło
2
Zawsze ta sama wartość? Gdyby był losowy, powiedziałbym, że może to być token CSRF lub coś w tym rodzaju.
Platinum Azure
Zawsze ta sama wartość; ta sama wartość ma 500 000 trafień w Google.
Sherlock
Wygląda jak sól lub token do czegoś. Czy to zawsze ten sam ciąg? Nawet jeśli wylogujesz się i usuniesz pliki cookie / pamięć podręczną lub użyjesz innej przeglądarki?
Jurik
Jakiej struktury PHP używasz?
j08691
3
To niestandardowe środowisko i pamiętaj, że ten ciąg występuje setki tysięcy razy w Google.
Sherlock

Odpowiedzi:

564

Wydaje się, że jest to pusta tablica zserializowana w PHP , zakodowana w standardzie 64.

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

Istnieje wiele skryptów szeregujących tablice danych. Kiedy tablice zawierają dane, różnią się one znacznie, więc wartości szeregowane w PHP zakodowane w Base64 również tak robią, ale kiedy są puste, wszystkie są takie same. Wygląda na to, że wiele bardzo różnych skryptów PHP ma ten losowy ciąg znaków.

kojiro
źródło
24
YTowOnt9=a:0:{}
Tim S.
42
@kojiro, jak do cholery dotarłeś do tej odpowiedzi? czy pomyślałeś po prostu „och, po prostu spróbuję deserializować to w base64, mam wrażenie, że to będzie to!” ? proszę opracować! :)
Tysiąc
101
Wpatrywałem się w nią przez chwilę i próbowałem zmienić układ liter w mojej głowie. Nagle zdałem sobie sprawę, że dziwna wielka litera przypomina mi bazę 64. Więc spróbowałem i miałem szczęście.
kojiro
10
@ AdrianFrühwirth GNU base64zastosowania -doznaczać dekodowania, a więc w Twoim przypadku, prawdopodobnie tak. Autor odpowiedzi jest najprawdopodobniej w systemie OS X, który używa -Ddo dekodowania. Przenośność jest trudna. :-)
Thanatos,
16
@kojiro, nie jestem pewien, czy rozsądne jest określanie base64 jako „kompresje” (nawet „bardzo słaba kompresja”), biorąc pod uwagę, że tekst wyjściowy jest konsekwentnie o 33% większy niż na wejściu.
tobyink