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

Вебинар «Защита веб-приложений: от анализа до противодействия атакам»

Время на прочтение1 мин
Количество просмотров487

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

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

На вебинаре мы разберем:
- как оценить потенциальную площадь атаки с помощью OSINT‑инструментов;
- как выстроить процесс контроля уязвимостей;
- что можно предпринять для защиты от DDoS‑атак;
- как грамотно настроить Web Application Firewall (WAF).

Обо всем расскажет Александр Быков, руководитель направления сервисов защиты Nubes. Александр руководил созданием ИБ-сервисов по защите веб-приложений в крупнейшем облачном провайдере и имеет большой опыт по защите высоконагруженных приложений от комплексных атак (WAF, IDM, AntiDDoS, сканеры уязвимостей).

Вебинар будет полезен для ИБ- и ИТ-руководителей, ИБ-инженеров и специалистов, системных администраторов, разработчиков и тестировщиков веб-приложений.

Вебинар бесплатный, но нужна регистрация.

Зарегистрироваться

Читать далее

Выплаты за багбаунти в России сопоставимы с вознаграждением на мировых платформах

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

Мы подвели итоги работы платформы по поиску уязвимостей Standoff 365 Bug Bounty, запущенной в мае 2022 года. За полтора года количество размещенных программ увеличилось с 2 до 53 и продолжает расти. Размер вознаграждения составляет от девяти тысяч до трех миллионов рублей в зависимости от уровня опасности уязвимости. При этом максимальные выплаты сопоставимы с аналогичными вознаграждениями на мировых площадках.

С момента открытия на платформе зарегистрировалось 7537 исследователей; программы представили Rambler&Co, VK, Госуслуги, «Одноклассники», «Тинькофф».

Узнать больше

Вебинар «Про тестирование и сравнение WAF» 6 декабря от Вебмониторэкс

Время на прочтение1 мин
Количество просмотров515

Ведущий вебинара Вадим Шепелев — инженер по информационной безопасности Вебмониторэкс раскроет тему проведения тестирования и сравнения WAF. Покажет несколько источников данных для составления тестов. Затронет тему кодирования полезной нагрузки для тестирования на возможность обхода WAF и продемонстрирует работу нескольких инструментов для автоматизации тестирования WAF. Даст рекомендации по подготовке среды тестирования и многое другое.

6 декабря (среда) приглашаем вас принять участие в вебинаре «Про тестирование и сравнение WAF» , где расскажем о различии методик тестирования в зависимости от типа атаки, о кодировании данных и не только. Вас ждет море полезной информации :) Присоединяйтесь!

Подробнее о вебинаре

Вышел Comentario 3.0.0: сервер комментариев с открытым исходным кодом

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

Вышло мажорное обновление Comentario 3.0.0 — свободного сервера комментариев c открытым исходным кодом. С его помощью можно добавлять возможность комментирования к любым статическим страницам (наподобие того, как это сделано здесь, на Хабре), вставив лишь пару HTML-тегов.

Comentario написан на Go и Angular и использует БД PostgreSQL для хранения комментариев.

Читать далее

Разработчики ОС «Аврора» добавили возможность создавать на платформе веб-версии приложений популярных сервисов

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

Разработчик ОС «Аврора» — компания «Открытая мобильная платформа» в рамках программы бета-тестирования ОС начала создавать веб-приложения сервисов. Об этом сообщает ТАСС со ссылкой на коммерческого директора компании Михаила Писарева.

Читать далее

Разработка Telegram Web App с помощью HappyX и telebot

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

В этой статье я расскажу вам, как можно с помощью Nim разработать Telegram Web App, используя HappyX и telebot.

Читать далее

Когда 2+2=5: чем страшны ошибки бизнес-логики приложений и почему их легко не заметить при разработке

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

Мы как-то писали про SSRF-атаку, которая входит в список наиболее распространенных уязвимостей OWASP Top 10. Однако мир уязвимостей намного разнообразнее и, конечно же, не ограничивается этим списком. Сегодня мы хотим рассказать про уязвимости, связанные с бизнес-логикой. Что в них необычного? Это как доказать, что 2+2=5. Последовательность действий кажется правильной, все операции разрешенными, а результат совсем не тот, который закладывался при разработке. Но мы же знаем, что в доказательстве есть ошибки! Рассмотрим, как подобные задачки решаются при анализе защищенности и какие неожиданные результаты можно получить, используя обычную функциональность приложений.

Читать далее

10 шагов для создания стартапа на основе 1С: Предприятие и Asp.Net MVC

Время на прочтение13 мин
Количество просмотров11K
Многие считают, что 1С может обслуживать только бухгалтерию. На самом деле это не так. Значение платформы 1С: Предприятие недооценено. Цель статьи показать, что 1С: Предприятие 8.3 может с успехом применяться при построении нестандартных решений в Интернете. 1C может быть удобным инструментом для многих областей: от небольшого IT-проекта до развитой многосерверной системы. Предлагаю обсудить гибкость и применимость платформы 1С к построению веб-проектов и стартапов. Для усиления эффекта 1С рассматривается в связке с .Net framework: Asp.Net MVC.

Статья писалась на основе нескольких нестандартных веб-проектов: личных и корпоративных, успешных и не очень. Здесь вы не найдете руководства по созданию обычных интернет-магазинов, потому что это стандартная, хорошо описанная в других источниках задача. К примерам нестандартных проектов я отношу: сервис проверки начислений по дисконтной карте из нескольких 1С, сайт объявлений для газеты, внутренний сайт голосования за товары между продавцами. Сюда также можно отнести сильно нестандартные интернет-магазины: магазины с несколькими регионами, валютами и ценами; магазины с товарами из разных баз 1С; магазины уникальных товаров, завязанных на производства.
Читать дальше →

Первый pet-проект, но не бесполезный?

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

Чуть более года назад, уже написав небольшое количество простых программ на Python, я начал размышлять об идее создания своего первого более‑менее полноценного проекта. Писать что‑то, что уже было 100 500 раз написано до меня, желания совсем не было, хотелось хоть немного оригинальности, и полезности. Но найти оригинальную идею под свой невысокий уровень знаний оказалось не так‑то просто.

Однако как‑то на всем известном видеохостинге я наткнулся на трансляцию мужика с проекта Moscow Python (прошу прощения, имя я не запомнил, и сейчас уже просто не найду) который вещал что‑то о начале пути питониста, а заодно рассказал о программе для изучения английского языка Anki. А далее, прямо на трансляции, он сам решил написать аналогичную программу, но совсем в примитивном виде. И тут, очевидно вдохновившись, меня посетила идея, что вполне полезной могла бы оказаться программа для изучения технического английского языка. Ну зачем мне сразу весь язык, если в конкретный период времени он мне необходим только для уверенного чтения и понимания документации. И я написал...

Читать далее

Web components как альтернатива iframe на примере Angular-компонентов

Уровень сложностиСредний
Время на прочтение12 мин
Количество просмотров5.9K

Всем привет! Я Сергей, фронтенд-разработчик из команды привлечения Центрального университета. Занимаюсь проектами, связанными с регистрацией абитуриентов на мероприятия, и внутренними проектами по управлению мероприятиями. 

Осенью мы ждем поступление бакалавров. Чтобы начать набор, нужно встроить форму регистрации в лендинг на CMS. Форма довольно простая: пара полей для ввода данных, диалоговое окно с текстом соглашения об обработке персональных данных и кнопка отправки данных на сервер. Для скорости работы и проверки работоспособности идеи решили встроить приложение через iframe. Но форма стала обрастать различными бизнес-требованиями, которые приносили проблемы. В статье расскажу, с какими трудностями мы столкнулись и как их решали.

Читать далее

LotItBit или история ранней криптолотереи

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

LotItBit или как я создал криптолотерею и потерял все.

Эта история будет интересна и как любопытный технический проект, и как пример того, насколько внутренние убеждения участников важны и могут влиять на результаты работы и жизнеспособность продуктов. Идея выразить в тексте этот опыт просилась на свет уже давно и в свете наступления очередной волны интереса к криптопроектам, я решил сделать из этого своеобразный творческий эксперимент. Так что не судите строго и приятного чтения.

Читать далее

Использование Verified Permissions для реализации точной авторизации в высоконагруженных приложениях

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

Техники оптимизации функции авторизации в современных веб-приложениях.

В статье рассматриваются эффективные подходы к управлению точной авторизацией с использованием Amazon Verified Permissions (читай Cedar Engine). Вы узнаете о техниках пакетной авторизации и кэширования ответов, которые помогут значительно повысить производительность и отзывчивость приложений.

Читать

Почему я скептично отношусь к переписыванию JS-инструментов на «быстрых» языках

Уровень сложностиСредний
Время на прочтение6 мин
Количество просмотров18K

Я написал много JS-кода, и мне нравится JavaScript. Самое же главное, я выработал необходимые навыки для понимания, оптимизации и отладки этого кода, от которых не хочу отказываться.

Поэтому у меня вполне естественно возникает беспокойство по поводу охватившей сферу разработки одержимости переписывать каждый инструмент Node.js на быстрых языках вроде Rust, Zig, Go и прочих. Причём ценность этих языков я нисколько не преуменьшаю. Я даже принимал некоторое участие в разработке Servo, да и на столе прямо сейчас передо мной лежит книга по Rust. Но в целом основную часть своей карьеры я вложил в освоение всех нюансов JavaScript, и на данный момент этот язык для меня самый удобный.

Так что я признаю свою предвзятость (и, возможно, чрезмерный акцент на одном наборе навыков). Но, чем больше я об этом думаю, тем больше понимаю, что у моего скептицизма есть также обоснованные причины, о которых и пойдёт речь в текущей статье.
Читать дальше →

Я прождал 10 миллиардов тактов и дождался лишь экрана загрузки

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

Современное оборудование невероятно быстрое. M1 Max, на котором я пишу эту статью, работает с частотой 3,2 ГГц. То есть 3,2 МИЛЛИАРДА тактов в секунду. Однако Microsoft Teams требуется 3 секунды, чтобы открыть ссылку, и я отказываюсь верить, что для открытия ссылки требуется 9,6 МИЛЛИАРДА тактов. Очевидно, я упрощаю, но смысл остаётся прежним: как так получается, что оборудование становится быстрее, а приложения — только медленнее?

«Потому, что мы выполняем гораздо больше задач». Так считает любитель позднего капитализма. Позвольте объяснить.

Превосходный пример мощи современного «железа» — это видеоигры. Я могу симулировать огромные 3D-среды с физикой и освещением, полученным трассировкой лучей, при этом играть в реальном времени с друзьями из других штатов и даже стран; вполне доступный компьютер потребительского уровня выдаёт 124 миллионов пикселей в секунду1.

[1. 1080p при 60 FPS = 1920 × 1080 × 60 = 124416000]

Можно посмотреть и в обратном направлении: людям удаётся запускать DOOM на почти любом устройстве с процессором: на калькуляторах, iPod, фотокамерах. Невероятно маломощные, зачастую одноразовые устройства обладают достаточными вычислительными ресурсами, чтобы выполнять сверхсовременную на 1993 год игру. Это не особо удивляет, ведь прошло три десятка лет, но показывает, какой путь мы проделали.

Читать далее

Как некорректная разработка API может привести к удалению пользователей

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

В продолжение рассказа об уязвимостях, которые были обнаружены пентестерами УЦСБ  и легли в основу кейсов на премии Pentest Award, публикуем разбор следующего реального примера.

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

Читать далее

Пишем надёжный и расширяемый код с помощью Union & pattern matching в TypeScript

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

Добрый день, Хабр! Меня зовут Иван Колотилов и я фронтенд-разработчик. Я разрабатываю современные веб-приложения, специализируюсь на финансовых продуктах, работал в финтех-стартапах. Сегодня я хочу рассказать о том, как писать надёжный и расширяемый код с помощью TypeScript на примере разработки прикладного сервиса.

Читать далее

6 впечатляющих веб-технологий 2015 года

Время на прочтение5 мин
Количество просмотров55K
2015 год выдался богатым на нововведения, связанные с улучшениями веб-платформы. Аксель Рошмайер рассматривает 6 технологий, которые ему кажутся наиболее интересными:

1. Electron;
2. React Native;
3. Прогрессивные веб-приложения;
4. Visual Studio Code;
5. Rollup;
6. WebAssembly.



Читать дальше →

Заметка про пользовательские соглашения в Web-играх

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

Некоторое время назад у меня была дискуссия на тему необходимости оповещать пользователей о сборе пользовательских данных в Web-играх.

Многие крупные проекты в Google Play при первом запуске требуют прочитать и принять пользовательские соглашения: обычно это Privacy Policy и Terms of Use.

Однако в Web-проектах, например на Яндекс.Игры или VK Игры, такого не встретишь. И не понятно, нужно ли это там. Я провёл небольшое «расследование» на площадках, и, кажется, понял, как это устроено.

Читать далее

Обработка окон и вкладок браузера в Selenium PHP

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

Один из распространённых сценариев работы с веб-приложениями заключается в открывании нового окна (или вкладки) браузера после выполнения пользователем определённого действия. Многие веб-разработчики используют HTML-тэг __blank, приказывающий браузеру при нажатии на ссылку открыть новое окно (или вкладку, это зависит от выбранных пользователем настроек). Работа с окнами в Selenium при помощи PHP может использоваться для автоматизации взаимодействия с окнами, вкладками и даже всплывающими окнами браузера.

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

В этой статье мы подробно рассмотрим применение Selenium для автоматизации взаимодействия с браузерами, вкладками и всплывающими окнами. Для демонстрации работы с окнами в Selenium PHP мы воспользуемся PHPUnit — фреймворком юнит-тестирования для PHP.
Читать дальше →

Как создать игру Tetris с помощью Three.js

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

Вспомните, как мы играем в «Тетрис». При движении блока мы свободно перемещаем и вращаем его. Кубы, из которых состоят блоки, соединены, поэтому должно быть соединено и их описание в коде. С другой стороны, когда мы завершаем горизонтальный срез (в 2D это строка), кубы удаляются и блок, к которым они принадлежали, на этом этапе уже не важны. На самом деле, они и не должны быть важны, ведь некоторые кубы из блока могут удалиться, а другие остаться на поле.

Для отслеживания начальной точки куба пришлось бы постоянно разделять и объединять геометрию, и поверьте мне, это был бы сущий хаос. В оригинальном двухмерном «Тетрисе» показателем исходного блока был цвет квадрата. Однако в 3D нам нужен удобный способ демонстрации оси Z, и лучше всего для этого подходит цвет.

В нашей игре кубы будут соединены, когда они динамичны и разделены, когда они статичны.
Читать дальше →