Как стать автором
Обновить

Комментарии 153

Теперь открывать приложения в контакте стало очень опасно — не успеешь моргнуть — тебе с Iframe вирусов понабежало.
А можно поподробнее?
С применением Iframe можно ферму вирусов вырастить :) А с количеством играющих во вконтактовые игры и проч. это не паханное поле:)
каких вирусов то? что вообще за чушь? прям iframe головного мозга какой-то.

нет никакой возможности заразится вирусом через iframe, кроме той что была бы на обычной странице (уязвимость браузера)
т.е. факт наличия iframe на странице на возможность заразиться вирусом никак не влияет
наивный)
Сразу видно, человек явно не с windows или не имел дело с iframe
Ну может быть вы, сударь, снизойдёте с небес на землю для меня, вместо тех 30ти ребят и расскажите популярно в чём же сыр бор?
Есть уязвимости браузеров, которые используются, чтобы заразить компьютер вирусом. Возможность iframe позволяет злоумышленикам, под видом честного приложения — показать вам код, который будет использовать эту уязвимость.
конкретизируйте  — какие уязвимости?
Например, заражённый pdf. Так-то.
вы серьёзно что ли?
Каких конкретно уязвимостей я вам назвать не могу да и здесь не место расписывать их. Так как в разных браузерах они разные. Но суть следующая. Вы когда-нибудь замечали как антивирус или браузер ругаются на то, что посещение данной страницы орпасно. Дело вот в чем. Берется ФТП от сайта вставляется туда Iframe невидимый, в котором загружается внешняя страница содержащая Javascript. Javascript делает следующее используя уязвимость браузера исполняет некий код, который для начала позволяет выполнить код, (бывает исполняют код написанный на ассемблере). Этот код подгружает уже другой код и запускает его и пошло поехало… Так что все эти игры и ифреймами очень опасны. Говорю вам как человек поработавший в этой области достаточное время.
Т.е. достаточно открыть страницу в браузере, чтобы враг мог сделать что угодно с привелегиями открывшего?
Да если есть скрипты которые способны использовать уязвимости в браузерах, то вам достаточно просто открыть страницу. Все остальное дело техники.
Странно, вроде именно это товарищ arestov и написал, но получил 33 минуса
Я бы даже сказал, Фазенду вирусов… :)
Вирусная ферма! Игра для тебя и твоих друзей! *

* на время игры рекомендуется отключить антивирус, файрвол и прочее защитное ПО.
Выращивай вирусы у себя, воруй вирусы у своих друзей, и будь первым в топе среди своих друзей!*

*одно спам сообщение/картинка дает +1 единицу опыта.
Где мой троян 11 уровня и три вируса-сборщика! /извините, не смог держаться/
НЛО прилетело и опубликовало эту надпись здесь
Можно Русскую рулетку сделать. Угадай где вирус.
НЛО прилетело и опубликовало эту надпись здесь
Можно все-таки поподробнее? Гугл, например, по всей видимости не считает iframe небезопасным — гаджеты в wave работают именно через него.
Вот теперь самое время писать троянов :)
Аж в карму минус кинули.
Кто не понял — открывается очень широкий рынок а) продажи заражённых компьютеров б) траффика в) размещение или распространение нужной информации.
Ибо ифрейм в такой крупной соц. сети, где пароли стоят очень слабые это очень опасная вещь, которая многим только поможет заработать денег. (И не только создателям приложений)
НЛО прилетело и опубликовало эту надпись здесь
а чтоли в фэйсбуке стоят какие-то ухищрения против вирусов, которых нет вконтакте?
fbjs, например
НЛО прилетело и опубликовало эту надпись здесь
opera js
<script>
function myCycle()
{
stri = «a» + «qweqw\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nqweqweqw» +
"\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n";
alert(stri);
setTimeout('myCycle()', 10);
}
</script>
qweqw

Как остановите вызов такого алерта?
быть может так:

а может быть так:

в крайнем случаее вот так:
Вы бы хоть код проверили :)


а вы сами то проверьте. код то не работает.
впрочем если его исправить так что бы он работал, можно использовать tab
Тестовая страница

За идею с Tab, спасибо, но для обычного пользователя (коих вконтакте большинство в возрасте 14-17 лет) кроме как позвать сисадмина или завершить процесс браузера (если знают как О_о) никак остановить это нельзя.
Можно одной рукой зажать ESC а второй тыкать на закрытие вкладки. Древний и надежный способ )
В FF 3.5.7 — получилось
В Opera 10.10 можно мышку сломать — вкладка не успевает закрыться :/
В IE 7.0 — не успевает закрыться, + в IE 7.0 нет остановки цикла так что даже Tab не поможет
IE можно «победить» зажав Alt+F4
Правда, если хорошенько разогнать, то можно много чего лишнего назакрывать :)
Opera 10.10: Tab, пробел, Tab, пробел — алерт закрыт )
Tab, Space, Enter. :-)
поставьте «nice alert» есть на хабре это userjs
хотя и так у меня прекрасно зыкрывается остановкой выполнения скриптов.
в опере 10,5 модальные окна теперь, так что управление вкладкой не зависит от алертов.
немодальные они теперь.
Простите, действительно)
В Opera 10.10 можно мышку сломать — вкладка не успевает закрыться :/

Галочка «Stop executing script in this page» поможет.
Можно еще заюзать скрипт для greasemonkey — Nice Alert
Будет выглядеть так и не мешать:
НЛО прилетело и опубликовало эту надпись здесь
Видимо, из-за недостатка грисманки — юзерскрипты обрабатываются после загрузки страницы. Вот если девелоперы найдут способ обойти это… Хотя, может, уже нашли.
Неплохо, но принудительно закрытие вкладки, в хроме, помогает.
Chrome, 2жды нажимаем Tab, Пробел и Энтер :)
НЛО прилетело и опубликовало эту надпись здесь
Что за бред, в контакте большинство это не 14-17 лет.
хм, любители горячих клавиш зажмут Alt и подвинут окно вверх.
А просто умные люди нажмут Enter.
Зажимаю Alt — не зажимаю альт — окно двигается только за верхнюю часть, выше уже не подвинешь, просто если нажать Enter — получаем бесконечный цикл.
Что я делаю не так?
Про Atl может имелось ввиду не WinOS.
Окно прекрасно перемещается при зажатой Alt, например, в ubuntu.
жму альт+пробел, выбираю переместить и двигаю клавишами
виндовс

чяднт?
Если потом «отпустить», например, нажатием Enter, окошко приклеится к топу. По крайней мере, в XP так.
В итоге: Tab, Space, Enter. :)
Использование Alt поможет разве что в Gnome (про kde не уверен). Там можно тянуть за любую часть окна (:
НЛО прилетело и опубликовало эту надпись здесь
Это поможет и в KDE и в LXDE :)
А в свежей Опере обещают еще и немодальные диалоги!
они уже месяц есть )
Ну, да. Просто я альфу еще не щупал и на 100% не был уверен.
уфффф.....opera: tab, пробел, enter :)
зажать ctrl+W и нажать пробел.
FF тоже умеет завершать зацикливание.
Можно узнать как? А то недавно попался на цикле алертов.
Благодаря расширению AlertStopper:
но оно далеко не у всех стоит)
На самом деле это отличная новость.
Ещё бы сделали возможность «запретить приглашать меня в приложения» в таком случае, чтобы можно было огородить себя от орд потерявших свои пароли.
а заодно в группы и на встречи!
Это можно и сейчас
Вы — первый человек в моей жизни, который ищет на гугле через вконтакте :))
Тут не в самом гугле дело. Дело в наличии браузера в Вконтакте:
представил уже…
THIS IS NOT VKONTAKTE AND NOT VK SITE

Такая надпись, если в iframe открывать вконтактовский урл. Хотя m.vkontakte.ru проходит.
НЛО прилетело и опубликовало эту надпись здесь
Можно открыть страницу, где в еще одном ифрейме будет урл на приложение.
Вконтакте пишет это, когда открыт во фрейме.
НЛО прилетело и опубликовало эту надпись здесь
Если открыть во вконтакте вконтакт, то можно сломать его.
И тут Остапа понесло…
Спасибо, появился еще один повод слать всех приглашающих в пешую эротическую прогулку…
Даа, представляю… теперь порно-баннер можно схлопотать и вконтакте… ) мде
Ох новая ветка спама попрет то как — даже ничего придумывать не нужно — сразу делаешь iframe на свой сайт и рассылаешь всем «приглашение в приложение super_hot_siske_2010»
Все-равно приложение должно пройти проверку администрации.
Об это уже говорили. Поменять содержимое фрейма — дело на пару строк
Но тогда проверка администратором и вовсе теряет смысл.
А она и сейчас не имеет оного, поверьте.
это через какой вызов API вы придумали что сможете рассылать всем подряд приглашения? )))
Тссс… Недокументированные возможности )))
Никаких троянов не будет.
Все iframe приложения проходят премодерацию админами…

А что мешает после проверки модератором поставить выдачу актуального эксплойта?
Одна большая кнопка — «это вредное приложение», и пользователи за первые 5-6 минут приложения удалят его нафиг. Сколько паролей будет? 10-20? Неинтересно.
ага, а как юзер узнает что оно вредное?
Или вы думаете школьник полезет в сорс код и «вот вижу, 49ая строчка, они воруют пароли!»
достаточно 1 пароля от аккаунта с хорошим балансом денег :)
НЛО прилетело и опубликовало эту надпись здесь
да, но ведь пользователя можно попросить их дать ) и один из 100 даст ) под разными предлогами.
НЛО прилетело и опубликовало эту надпись здесь
главное открыть пользователю нужную страницу в фрейме, а далее… В правы зачем куки. Лучше сразу троян на машину.
Модерация нужна для одобрения приложения. Одобренное приложение приносит доход за клики, и в ньюс ленте видны его установки. После модерации приложение можно изменить.
Приложение без модерации работает без проблем.
Любое последующее изменение тоже проходит проверку.
как вы видите себе проверку любого последующего изменения? нет возможности проверить менялся ли iframe ))
по-моему, этого не происходит сейчас, и это сложно реализовать в будущем.
приложения постоянно обновляются — добавляются фичи, фиксятся баги.
отслеживать изменения, которых может быть несколько на дню и проверять их все — такую работу не осилит никакая модерация.
Не в частоте изменений дело. Дело в том, что iframe полностью обрабатывается на своем сервере. Можно делать что угодно, вплоть до «if (ip != 'DUROV_IP) {add_virus_code();}»
Госпади, когда же этот iframe умрёт?
Кстати, при некотором желании и умении, уже сейчас можно на юзерапи спокойно писать не флешевые приложения
НЛО прилетело и опубликовало эту надпись здесь
как именно недостаточно?
НЛО прилетело и опубликовало эту надпись здесь
доступ к location — для самозащиты встраиваемой страницы, ещё вы можно получить доступ к name и всё. не думаю, что тут может идти какая-то речь о недостаточности изолированности

+

en.wikipedia.org/wiki/Caja_(programming_language)
с чего ему умирать то?
несекьюрно и криво. Остальные фреймы умерли, а этот вот почему-то выжил.
OpenSocial весь на iframe.
Бедняги…
Кто именно? Гугл, OpenSocial foundation или десятки социальных сетей, которые поддерживают этот стандарт? По-моему, все они вполне счастливы.
Как я понял, пошли по пути facebook, там уже давно полно такие iFame-ов. Ужасно смотрятся. Ну и как водятся у многих русских девушек стоят всякие сайты знакомств и эскорта, особенность русскоязычного facebook сообщества.
Меня вот другое интересует ребята…
Кто-нибудь пробовал уже запросы отправлять к API через JS?

Ведь там нужно подпись формировать для каждого запроса.
Т.е. проще говоря надо написать функцию, которая будет формировать запрос к API.
НО если писать эту функцию на JS, то что делать с секретным кодом? Открыто держать его в исходниках — сразу же утащат…
Что-то после пятницы мой мозг не видит решение проблемы.
Можно спокойно слать всё через userapi.ru
не понял, а причем здесь userapi.ru?
там нужно проект регистрировать, ждать апрува и т.д.
а меня именно интересует создание приложения для контакта через созданное именно для приложений API…
qutim.org/
А теперь посмотрите, каким образом там сделан вконтакте плагин.
Сейчас тоже решаю эту задачу. По-моему вконтакте слишком намудрила с этой сигнатурой…
Пока вижу решение только в дополнительном запросе к своему серверу
во-во
я тоже сразу увидел это решение
других пока не видно
но дополнительный запрос к своему серверу — это п$дц
получается перед каждым запросом к API, придется делать запрос к своему серверу
я думаю в ближайшие дни они должны предложить нормальное решение ;)
ага, видел
да, тогда вообще непонятно зачем это signature нужна…
Защита от дурака, чтобы тем, кто будет делать такие запросы пришлось покопаться.
От чего именно защита? Что плохого мог бы сделать человек, если бы sig не было, но не может т.к. он есть?
Если по каким-либо причинам вам надо сделать запрос к Вконтакте-Апи от имени какого-либо приложения, то к нему нужна подпись (как раз эта sig), которая генерируется на основе секретного ключа. Этот секретный ключ обычно хранится в swf-ке, откуда его можно попробовать достать с помощью специального софта. Но для этого надо покопаться немало, особенно если исходников в приложении много.

Для api вконтакте мб этот ключ бесполезен, поскольку не дает доступа ни к чему серьезному (кроме, наверное, смены аватарки).

Некоторые приложения используют для общения со своими серверами такой же метод запросов. Для того, чтобы подделать такой запрос — надо знать секретный ключ. Подделка дать запросов может дать автоматизацию некоторых процессов. Для примера — бота для какого-нибудь Фермера.
Тот, кто будет делать бота для фермера скорее всего сможет найти секретный ключ в js/swf. Да и ненужно это — достаточно посмотреть, какие запросы отправляются на сервер и отправлять такие же.
Что можно сделать с помощью api написано здесь — bit.ly/76MKrM. Ничего такого, что не может сделать пользователь вручную. Те, кому нужна автоматизация здесь, могут создать собственное приложение и честно отправлять запросы от его имени.
Секретный ключ для своего сервера называется auth_key и передается приложению контактом: auth_key = md5(api_id + '_' + viewer_id + '_' + api_secret)
Причем api_secret хранится только на сервере контакта (и на своем), в приложении его лучше не держать).
А из swf фаила утащить по-вашему нельзя? Смиритесь с тем, что секретный код утащат сразу.
1) Метод борьбы с этим — это сложное общение со своим сервером и малейшее неточность запроса — сразу бан. Посмотрите снифером как общается приложение «Ресторатор» со своим сервером.
2) Либо жесткая шифрация JS кода, который никто просто разбирать не будет
Во флеше тоже самое — секретный ключ пишите прямо в js-функцию, с ним все равно денег не утащишь.
А вот защищенный ключ в js вставлять не надо, только на сервере. Там на самом деле все довольно просто.
Да, еще вчера разобрался с этим :)
Оказывается эта sig просто защита от дурака )
НЛО прилетело и опубликовало эту надпись здесь
Школота, не визжите.

Вконтакт крут безмерно, главное чтобы они тему не провафлили и не банили все подряд приложения.
хотели как в фейсбуке, а получилось как всегда.
+9000. У меня десятки идей хороших стартапов для вконтакта, но нужно чтоб они дали что-то вроде OAuth API.
Сделай десяток хороших стартапов для Facebook.
С удовольствием, но я не знаю, чего хотят тамошние пользователи. А пользователи вконтакта вокруг кишат :) Если есть хорошие идеи, могу помочь с реализацией.
Может наконец появится приложение которое будет интегрировать twitter вконтакт, как на facebook
Я наверно не правильно выразился. Чтобы каждый твит устанавливался в статус.
проще простого )
Спасибо, что предупредили.

image
А если в iframe засунуть JS скритп который все куки отправит разработчику)
Не получится — разные контексты безопаности
Не получится, современные браузеры не позволяют смотреть содерживое соседних iframeов.
Ранние версии IE 5 умели.
Можно было сделать iframe с адресом file://c:\\secrets\mypasswords.txt и яваскриптами это всё смотреть. А сейчас такого нет
А это позволит создавать приложения наподобие CASOS II для Facebook, которые извлекают список контактов пользователя и позволяют его анализировать/визуализировать?
Написали приложение, сколько времени занимает проверка и активация его модераторами?

Так же подскажите, где разработчик может получить поддержку по приложениям ВК?
Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации