Pull to refresh

Comments 64

Похоже меня спасла привычка кликать на ссылки колёсиком. :)
Вот уж действительно полезный навык.
Это разве что-то меняет?
Да, onclick событие не срабатывает.
Как у вас бразуер? Мой хром все равно переходит по ложной ссылке.
А если обновить страницу? После первого onclick атрибут-то уже новый.
У меня FireFox.
Действительно, на хроме подменяется ссылка, а на FF событие не срабатывает. Любопытное различие в поведении.
Хром 25 — onclick отрабатывает.
При «открыть в новой вкладке» тоже.
mousedown легко срабатывает. Уже было проверено и работает кроссбраузерно и с правой кнопкой мыши и со средней.
Ubuntu 12.04
Chrome 25.0.1364.172

Пример из оригинальной статьи. При клике колесиком осуществляется переход на фейковый сайт. В Firefox все хорошо, переход на paypal
В хроме с колесом как-то не получилось, зато правой кнопкой — открыть в новой вкладке или окне открывает пейпел.
Ещё зависит от версии jquery, в разных версия событие клик работает по разному.
а в чем опасность-то?
те кто печется о безопасности, проверяют какая на самом деле ссылка была открыта, прежде чем вводить данные для paypal.
Те кто на безопасность кладет — тем все равно.
На мой взгляд, нет практически никакой разницы, как если бы сразу сделали ссылку на фишинговый сайт.
да бросьте, даже самый внимательный человек может не заметить, что в ссылке
www.paypaI.com/ru/cgi-bin/webscr?cmd=_send-money&nav=1 последняя буковка — не l («л»), а I («и» заглавная)

а если в домене десяток-другой символов, то запросто можно спутать какие-нибудь q/u/o/p/c, особенно если думаешь, что кликаешь куда надо
Внимательный человек смотрит не только на урл, но и на подсказки браузера
image
Совершенно верно, это «ошибка» на лохов. Те кто кладет на безопасность даже и смотреть не будут в самом начале куда он ведет и что показывает.
Совершенно верно, нету никакой разницы, все равно лохи на неё смотреть не будут (ссылку).
Есть куча других способов завести пользователя на фишинговый сайт. Прямо, автор америку открыл. Это задачка для детского сада.
С тем же успехом на onclick можно повесить переопределение window.location и произойдет точно такой же переход на фишинговый сайт.
Откуда такие идиоты берутся?
Если у вируса есть права на иньекцию, то смысла в фишинге уже и нет, он и так способен перехватить нужные данные еще на клиенте, так что апдейт браузера не особо изменит ситуацию.
Так это же не обязательно может быть вирус на компьютере клиента. Это может быть инъекция JS кода в некий сайт, где ссылка подделывается для фишинга. Но как уже сказали выше, можно и просто редирект делать.

Вообще я не считаю это проблемой, вполне ожидаемое поведение. Событие срабатывает до процесса перехода. А может быть я например хочу менять ссылку у себя на сайте в зависимости от координат клика? Навскидку так можно организовать ColorPicker.
Шикарный метод для сокрытия партнерских ссылок.
for(i in o=document.links){o[i].onclick=function(){this.href='//bit.ly/141nisR'}}
И ещё минус лишние скобки у цикла.
при первой обфускации var незаслуженно почикали на мой взгляд :)
Любой мало-мальски способный хакер понимает, что в статье написан бред. Существует невероятное число способов сделать редирект с помощью js, многие из которых сопряжены с кликом по какой-то ссылке, и все их теоретически можно использовать для фишинга. И что вы предлагаете? Может быть, запретить onclick? Или запретить редиректы? Или высылать пользователю алерт каждый раз когда он попытается перейти с страницы поиска гугла на сайт в выдаче?

Надо четко различать, где начинается понятие уязвимости, а где кончается. Влияющий на файловую систему пользователя js код — уязвимость. Код, приводящий к краху или зависанию браузера, или мгновенному открытию миллиона вкладок — уязвимость. Код, обманным путем редиректящий пользователя после какого-то действия пользователя на фишинговый сайт — необходимое зло, потому что избежать его, не уничтожив важный и полезный функционал, мы никогда не сможем.

Если вам дороги ваши paypal-денежки, внимательно смотрите на адресную строку, прежде чем совершить платеж. Не надо мельком бросать взгляд на ведущую якобы на пейпал ссылку на подзрительном сайте, после чего радостно кликать на нее и вбивать все пароли в форму. Уязвимость здесь — не в браузере, а в том, кто за ним сидит.
UFO just landed and posted this here
Можете более подробно рассказать про это?
167772161 — это IP, остальное, видимо, логин.
Понял свою ошибку.
В любом случае, с моего прокси это почему-то не работает.
На 10.0.0.1 очень сложно достучаться и без прокси.
А что тут рассказывать, в rfc все написано:

The authority component is preceded by a double slash ("//") and is
terminated by the next slash ("/"), question mark ("?"), or number
sign ("#") character, or by the end of the URI.

Т.е. в данном случае это "paypal.com&f=1234@167772161". Дальше:

The user information, if present, is followed by a
commercial at-sign ("@") that delimits it from the host.

Получаем "paypal.com&f=1234" — userinfo, "167772161" — host.

Человек видит знакомый символ & и думает что это разделитель аргументов, а на самом деле нет.
UFO just landed and posted this here
> <host>=167772161 — это IP 10.0.0.1 в integer виде.

Нет, даже в старой приведенной вами спецификации хост не может означать ip в таком виде:
host: The fully qualified domain name of a network host, or its IP
address as a set of four decimal digit groups separated by ".".
… однако же разработчики браузеров похоже спецификации не читали и все равно трактуют это как ip, чем облегчают жизнь сквотерам. Мда.
UFO just landed and posted this here
> <url-path> начинается после первого символа '/', '#' или '?'
Нет, после '#' и '?' начинается не path.

> Если внимательно посмотреть на ссылку, то окажется, что <url-path> пуст.
Нет, он состоит из одного символа '/'.
UFO just landed and posted this here
UFO just landed and posted this here
Ага, и я ненавижу Гугл за это — в выдаче показываются нормальные ссылки, но ссылку нельзя скопировать мышкой, так как при щелчке ссылку меняется на что-то ужасно длинное с редиректом через Гугл.
Ага, и я ненавижу Гугл за это — в выдаче показываются нормальные ссылки, но ссылку нельзя скопировать мышкой, так как при щелчке ссылка меняется на что-то ужасно длинное с редиректом через Гугл.
Появилась идея — предупреждать пользователей, что при нажатии по ссылке будет произведен переход на другой домен (+1 to abididea)

Нет, спасибо.

Сайты, такие как Google and Facebook, продолжат нормально функционировать, т.к. используют один домен, а это исключит возможность фишинга.

Полная чушь. Похоже, автор оригинальной статьи не совсем понимает, что такое домен. Да и сама «уязвимость» заставляет усомниться в его компетентности в вопросах безопасности. Как писали выше — существует 1000 и 1 более изощренный способ отъема чего угодно, если злоумышленник уже смог внедрить код в страницу.
Зашёл на сайт автора оригинальной статьи, увидел
I'm an 19-year-old award-winning developer, serial entrepreneur, philanthropist, aspiring computer scientist, life hacker and traveller.

затрепетал перед его авторитетностью, передумал писать о бредовости заявлений.
Ну так чувак прошареный, у него award-winning даже подсвечено желтеньким. Реально крутой перец, значит.
По моим наблюдениям over 95% пользователей не смотрят куда ведет ссылка вообще никогда, поэтому подмена url вообще ничего не меняет. Те кто смотрят — для них это детский лепет, а не уязвимость
У меня в one page приложении на всех ссылках висят такие обработчики, использую history api для подмены урла и нагации вперёд-назад, даже картинки гружу не настоящие, а использую ленивую подгрузку.

Тоесть я хацкер и должен о каждом таком трюке на js предупреждать пользователя?
Ещё не поздно написать явку с повинной, удалить приложение и идти на исправительные работы.
Этот прием давно используют для обхода блокировки попапов на всяких говносайтах.

Грубо говоря, как-то так (осторожнее на работе! ;).
Хм, вот уж не ожидал, что подобное может вызвать у кого-то интерес.
Офигеть конечно, в 2013 году, оказалось, что можно перехватывать клик на ссылку.
О боже! Они нашли опцию onclick!
Скоро award-winning разберется с window.unload, ждите продолжения серии «Взлом… в 100 символов»
Может быть я чего-то недопонимаю, но зачем тогда вообще вешать что-то на событие onclick? Может тогда, если скрипт все-равно имеет доступ к странице, поступить проще?

$('a[href^=«paypal.com»]').attr('href', 'http://hack.ru');
а в строке статуса при наведении?
а в строке адреса после перехода по ссылке?

много вы видели обычных пользователей, которые, бегая по ссылкам, следят еще и за строкой статуса? ;)
> Как вы убедились, вы не перешли на PayPal (кроме Opera, где, по-видимому, это поведение исправлено).
Пользуясь случаем, хочу передать привет Webkit-у
Sign up to leave a comment.

Articles