В минувшие выходные встречались со старыми друзьями, с которыми вместе начинали постигать «компьютерную науку», занимаясь в разное вермя веб-программированием, крякингом софта и прочими делами. За бокалом пива вспоминались разные компьютерные байки, одну из которых я и хотел бы тут рассказать. А история эта о том, как слово «javascript» стало запретным на Вконтакте.
Было это в октябре 2007 года.
Тогда на вконтакте практиковался увод аккаунтов с помощью воровства куков, так как в них хранился email и айди пользователя, а также md5 хеш его пароля без какой либо соли. Поэтому, после получения кукисов, получить пароль от аккаунта было делом техники (Хотя, справедливости ради, стоит отметить, что по-началу вконтакте вообще был одной сплошной дырой. Например, в течении почти месяца была открыта дыра, позволяющая залогиниться под чужим аккаунтом просто сменив в куках свой айди, на чужой).
Для увода cookies злоумышленники предлагали доверчивым пользователям под разными предлогами скопипастить некий код в строку браузера, который собственно и сливал куки (попробуйте вставить в адресную строку, например "javascript:alert('')").
Так вот Дуров начал решать проблему в своем стиле. Сначала (если не ошибаюсь, 10 октября 2007 года) на всем сайте запретили писать слово «javascript» (оно заменялось на «javas?1?ript»). И видимо был очень счастлив, подумав, что решил проблему.
Но не тут то было — уже на следующий день, вместо «javascript» хацкеры просто писали «Javascript» или «JaVascript». Браузер благо к регистру не привередлив…
С регистром проблему конечно тут же доправили, но тем, кому хотелось побольше вкусных «печенек», все же умудрялись заставлять писать пользователей в строку браузера слово «javascript».
И тогда разработчики контакта приняли очередной гениальный ход, запретив писать слово «cookie», чтобы уж никто ими точно не полакомился. Как вы догадались, хацкеры в долгу не остались и просто заменили document.cookie на… eval('document.coo'+'kie'). :)
Вот такая вот небольшая история, мораль из которой каждый может вынести для себя сам.
Сперто с Хабра.
Комментариев нет:
Отправить комментарий