JavaScript vs. TOR
Правда ли, что есть такие JavaScript, которые могут узнать мой IP и др. информацию (какую?) и передать незаметно авторам сайта? Например, вместе с формой, которую я заполняю на сайте? Если "Да", то как это обнаружить? И можно пример скрипта?
Ссылки
[link1] http://www.guninski.com/
[link2] http://www.pgpru.com/novosti/2007/0314predlozhenvzlomtoradljapoimkipristupnikov
[link3] http://www.proxy.org
[link4] https://www.snoopblocker.com
[link5] https://www.pgpru.com/forum/sodejjstvie/izvechnajaproblemakakpodruzhitjbrauzerysneadekvatnymiinterfejjsamisneadekvatnymisajjtami
К IP и другим аппаратным и протокольно-стековым данным javascript иметь доступ не должен (иначе как через большую дыру в браузере).
Может быть, он может косвенно выполнить на стороне пользователя код, который в конечном счёте проявит нужный айпи злоумышленникам?
soft@mvrum.com
А как правильно сделать настройфки
Так что, JavaScript совершенно безопасны? Чего тогда их советуют отключать? Я еще вспомнил, что есть VBScript.
Насколько я понимаю, кукисы, как и JS, при определённом стечении обстоятельств могут использоваться для отслеживания пользователя, но не для проявления его местоположения. Если я использую спецпрофиль, с которого лажу только анонимно, и использую обычный профиль, с которого лажу не анонимно (это даже не профиль, а запущенные от разных пользователей процессы никак друг с другом не связанные), то я допускаю, что какой-то из посещаемых анонимно мною сайтов будет за мной следить. Но, с другой стороны, аутентификация на любом из анонимных сайтов тоже даёт много информации обо мне: когда я заходил, что я делал, что писал, и сайт по своему усмотрению может поделиться моими кукисами с соседним. В таком случае указанные 2 сайта будут для меня работать как один, но распределённый. Но я опять же не вижу в этом проблемы. Это всё равно слабо поможет им в раскрытии истиного айпи (хотя потенциально может помочь, но это уже совсем тонкости). Поправьте если я не прав.
Кстати, совсем другой разговор, если вы не меняете профиль при переходе на анонимное соединения, а только запускаете тор. Поясню на простом примере: у вас, допустим, есть 2 ящика на mail.ru. Один – ваш официальный, а другой – анонимный. Если вы зашли из-под браузера в свой официальный ящик – вы оставили у себя кукисы, сайт их тоже помнит. Потом вы идёте в том же браузере на mail.ru, но на свой анонимный ящик... под тором... А mail.ru смотрит, и видит: "ага, кукисы у вас предыдущие "такие-то", значит это вася. Ага, а теперь это вася под анонимом лезет на новый свой ящик, под тором... Но мы то знаем.." Вот и всё на том. Я сам не так давно все эти тонкости понял. Да, а те кто совсем головой не думают – слушают тех кто что вякнет по этому поводу: кукисы уджалять, JS отключать, к компу не подходить... То есть всё это можно, только надо понимать когда и в каикх случаях можно, и без понимания того как это работает здесь никуды :(
А ещё — PHP, Perl, Cold-Fusion... Только всё это (в том числе VBScript) языки программирования серверных приложений. Javascript, а также Java, ActiveX и Flash отличает то, что они исполняются непосредственно на стороне пользователя: что-то в самом браузере, что-то в специальных интерпретаторах. Серверные программы имеют дело с теми данными, которые им сочтёт нужным передать клиент. Клиентские программы могут получить всю доступную информацию сами.
Да нет, отчасти верно. Если Ваша единственная угроза — это раскрытие IP (полное разрушение анонимности), то бояться нечего. Если же Вы не хотите, чтобы посещаемый сайт мог даже построить примерный профиль Ваших интересов, иными словами, создать Вам псевдоним и отслеживать Вас по нему, то рассматриваемые здесь технологии потенциально опасны.
Это как Ваш пример с мэйл.ру. Предположим, вы посещаете какой-то форум анонимно и публикуете там сообщения от имени двух альтер-эго. Используя javascript администраторы могут выявить некоторые уникальные параметры Вашей системы и определить, что за этими двумя псевдонимами стоит один человек.
Понял. Спасибо, SATtva.
Не совсем правильно. VBScript также может выполняться на стороне клиента, но только в IE, остальные броузеры его не поддерживают. По возможностям VBS и JS полностью идентичны, они различаются только синтаксисом.
Правильно я понял, что если разрешен JavaScript, то это не дает возможности другой стороне получить обо мне информацию? Значит он безопасен.
Неправильно, выше все написано.
Ну с PHP тоже не все так просто, например, насколько я помню, старые версии FastBB с помошью PHP идентифицировали пользователя (так называемый супербан) по огромному количеству параметров, сейчас идентефицируют по уникальному номеру IE, кстати на самом IE можно с помощью JS узнать очень много интересного, например серийник сидирома, содержимое буфера обмена, и пр., но мы то с вами не дураки, и юзаем Firefox и Opera ;)
Про супербан PHP из FastBB можно подробно прочитать в статье о прогремме AntiBan, если не ошибаюсь, на antichat.ru.
Php-скрипт не может выполняться на стороне клиента хотя бы потому, что интерпретатор не встроен в систему по умолчанию.
Вы все конечно очень умные, но я вашего ответа не понял.
Ну конечно, если IE такой идиот, что в HTTP-REQUEST передаёт все аппаратно-программные параметры системы, то с этим можно бороться только сменой IE на те же Firefox или Opera. Как я уже сказал, серверные приложения имеют дело только с теми данными, которые им сообщит клиент. Если он им ничего не сообщит или передаст только самые важные данные, необходимые для выполнения запроса, то каким-то чудесным образом что-то угадать они уже не смогут.
А какой был вопрос? :-)
Ну вопрос, с которого все началось. Можно без науки. Просто: да, JS может передать это..., или: нет, нет ничего не может.
А мой первый постинг Вы видели? Если браузер не такой дырявый и идиотский, как Internet Explorer, то не может. Javascript исполняется в браузере, поэтому может сделать всё, что прямо или косвенно браузер ему позволит.
1. Вы должны при переходе на прокси или тор использовать отдельную конфигурацию браузера: не ту, под которой ходите не анонимно.
2. Если пункт 1 вы выполнили, то
a) Если вас не страшит то, что каждый из всей совокупности посещаемых вами анонимно сайтов (из под специального профиля) будут о вас знать всё то, что знают о вас и остальные (анонимно посещаемые) сайты, то JS для Вас безопасен (то есть, не может привести к вскрытию вашего IP).
b) Если вы не хотите, чтобы имелась возможность у каждого из анонимно вами посещаемых сайтов, знать о вас то же, что знают о вас и другие, посещаемые вами анонимно сайты, то для Вас JS опасен.
2. Если пункт 1 не выполнен:
a) Если JS и cookies отключены, при использовании прокси о вас не будут знать ничего (но вопрос об удобстве работы, и вопрос о большом количестве сайтов, с которыми вы тогда не сможете работать).
b) Если хотя бы одно из двух (JS или cookies) не отключены, разные анонимно посещаемые вами сайты потенциально могут обмениваться друг с другом информацией, которую они знают о вас (например, ваш логин, ваши посты, и, в том числе, ДАЖЕ ваш IP).
Теперь ясно?
Ещё к своему ответу добавлю, что речь идёт только о том, что JS не может в обычной ситуации определить IP. Но как уже не раз было сказано в этой теме, JS может успешно определять уйму других индивидуальных параметров системы. Насколько это для Вас критично, постарайтесь определить сами, исходя из материалов обсуждения.
Спасибо за ответы. Понял.
Была масса эксплойтов, которые легко позволяли с помощью JS выполнить произвольный код на системе с правами пользователя или получить доступ на чтение каких-либо посторонних данных.
Одно время над этим усиленно работал Georgi Guninski[link1]
Вообще распространение интерактивных языков в web, особенно там где в них нет никакой необходимости, это неибежное зло. Какими бы ограниченными правами они не обладали, вероятность появления дыры в них очень велика.
Зависит от надёжности браузера, опять же...
Где-то видел сервис, который показывает не только стандартную инфу для подобныхсервисов(мой ip, браузер, ос), но и можно было увидет другую инфу, а именно что можно узнать обо мне с помощью js, flash и т.д.
Дайте пож. ссылку на такой сервис
Дима, не совсем то, что нужно[link2], но для проверки сойдёт. Смотрите в комментариях внизу страницы, там есть ссылка на POC.
Подскажите пожалуйста! На работе закрыли доступ к некоторым сайтам! Как можно обойти эту защиту?
Если не шифровать трафик, то достаточно воспользоваться этим[link3] сайтом, а если нужно шифрование, то воспользоваться этим[link4].
Ввести в предлагаемой строке линк сайта который хотите посетить. Правда, второй сайт будет тормозить в среднем больше :) Есть и другие сервисы. В общем, если вы сильно нужны админам то через какое-то время закроют доступ и к этим web-проксям – прийдётся искать другие. А если сильно будете упорствовать могут вынести предупреждение :-D
к сожалению, не всё так безопасно
JS может заставить браузер (по крайней мере IE) законнектиться на сервер НАПРЯМУЮ, минуя настройки прокси
Не путаете с Java? Или это какое-то особое расширение языка в IE? Можете привести пример или ссылку на описание соответствующих методов/функций?
JS-реализации во всех браузерах, как можно заметить по различным security-рассылкам имеют множество дыр, 0-day эксплойтов на исполнение произвольного кода, которые даже в FOSS остаются незамечеными годами.
Этого мало?
Есть специфическая проблема ещё такого популярного браузера как Файрфокс: он малополезен без плагинов-расширений, а их обновления никак не подписаны.
По умолчанию предлагается такая схема: все плагины лежат централизованно на https -сайте Mozill'ы, при старте файрфокса происходит проверка их обновлений (можно отключить автомат и делать это вручную), если есть обновление оно скачивается ... по http (!), а хэш-сумма для проверке с https, которой можно больше верить по сертификату соединения, затем у скачанного плагина перед установкой эта хэш-сумма сравнивается с вычисленным значением (т.е. ради какой-то дурацкой экономии сами плагины качаются по небезопасному каналу, а их контрольные суммы – по безопасному).
И сравнение суммы происходит ... через javascript, который если отключить, то в браузер можно будет ставить левые обновления. Если браузер настроен на работу через tor, то это может сделать любой злонамеренный исходящий узел сети.
Поэтому в файрфокс разработчики tor рекомендуют использовать плагин torbutton, который частично и незначительно фильтрует javascript, но не рекомендуется отключать JS полностью.
Для других браузеров аналога torbutton к сожалению нет, который фильтрует утечки информации лучше privoxy, кроме того делает это на стороне самого браузера, что решает проблему утечек через https, который privoxy (и другие proxy) фильтровать не могут.
Так что достаточно вставить на страницу https ссылку на невидимую картинку и privoxy в плане фильтрации становится бесполезен, он годися только для перенаправления трафика в tor.
Пример для opera – в студию!
Либо ссылку на оригинал исследования.
Фильтрация не так уж важна, или вы хотите сказать что произойдёт утечка которая может дискредитировать анонимность? Что такого браузер может послать по https?
Хотя бы то что у Вас на самом деле не тот тип браузера за который Вы пытаетесь его выдать, а именно браузер-v.xxx-xxx.-2008.02.13-linux-v.xxx-distr-xxx-v-xxx-compatible-xxx
с поддержкой специфических расширений, кодировкой по умолчанию xxx-x, с редкой локалью языка племени Майя и антарктическим часовым поясом.
Из браузеров которые позволяют из-под интерфейса сменить показываемую идентификацию я знаю только один: konqueror, однако он тянет за собой kde и сам вопрос о его собственных дырах открыт. Поидее, единственное правильное решение – запретить показывать отличную от нужной идентификацию в самих сорсах браузера. Или вы можете предложить какие-либо более простые on-the-fly-решения? Или директивно запрещать https для браузеров под тором? – Это тоже не все браузеры, думаю, позволяют... Ещё один трик – настраивать браузер на работу из под специального юзера с очень ограниченными правами с принудительным зарутиванием всего исходящего от такого юзера трафика в сеть тор... Блин, всё вспоминается старый вопль[link5] по поводу всей этой темы в целом... как говорится, идут года а воз и ныне там – ни одного сколь-нибудь адекватного браузера (в т.ч. и в плане security).
разработчики идут по пути наименьшего сопротивления, чтобы привлечь большинство пользователей, выбирают может не самый безопасный, но самый гибкий и легкомодифицируемый Firefox, для которого делают расширение torbutton, которое все эти проблемы решает (причём актуально это делает находясь только в стадии вечной альфы).
Про то что Firefox в значительной мере дыряв, неаккуратен и избыточен разработчики естественно в курсе.
Если речь идёт о пользовании FF без заботы об анонимности, то полагаю что отключение JS только увеличит безопасность если плагинов нет (кстати, это не такой-то и редкий случай :)).