Как приготовить обфускацию в JavaScript и не сжечь лабораторию: AST, babel, плагины
Вероятно каждый программист или компания, сталкивались с мыслями о своей крутости или хотя бы крутости своих алгоритмов 😎. Разумеется, в этом случае может возникнуть соответствующее нежелание делиться разработками с широкой аудиторией. Данная проблема минимизируется переносом части кода на сервер...
Заставляем работать демонстрационный пример из официальной документации npm пакета csrf-csrf
Ничто так не бесит при изучении новых пакетов/библиотек, как неработающие примеры из официальной документации. До последнего не веришь, что авторы библиотеки так лоханулись с исходниками примеров. Считаешь, что программисты потратили кучу своего времени на разработку, тестирование и продвижение...
Игрушечный ботнет на JavaScript под BitBurner
Предлагаю стать хакерами на пару дней, захватить сеть города и собрать криптовалюту с компьютеров беспечных соседей. Мы не станем вредить, а вирус напишем в компьютерной игре BitBurner. Писать вирусы - плохо, но изучать - интересно. Научим вирус распространяться по сети и выполнять команды -...
[Перевод] Секрет внутри одного миллиона чекбоксов
Спустя несколько дней после начала разработки «одного миллиона чекбоксов» (One Million Checkboxes, см. новость на Хабре) я решил, что меня взламывают. Что это делает в моей базе данных? Спустя несколько часов я уже лил слёзы гордости за талантливых подростков. Но вернёмся к началу. Что такое One...
[Перевод] Создание собственного графического клиента ChatGPT с помощью NextJS и Wing
К концу этой статьи вы создадите и развернете клиент ChatGPT с помощью Wing и Next.js. Это приложение может запускаться локально (в локальном облачном симуляторе) или развертываться у вашего собственного облачного провайдера. Читать далее...
Обфускация и деобфускация JavaScript: основы и инструменты
В цифровом мире информационная безопасность важна для обеспечения непрерывной работы бизнеса и защиты конфиденциальности пользователей. Однако, несмотря на внедрение различных мер защиты, веб‑приложения — важные мишени для злоумышленников, которые постоянно ищут уязвимости для эксплуатации. Один из...
IP калькулятор глазами админа или инструмент для работы со списками сетей
Тема больших списков IP адресов не перестаёт быть актуальной, не обошла она и меня стороной, вызвав, скорее, академический интерес. Желание покрутить-повертеть базы адресов переросло в проект-хобби выходного дня – одностраничное веб-приложение претендующее на роль помощника системного...
Приглашаем на онлайн-митап «Гетерогенность, или Деплой JavaScript туда и обратно»
В четверг, 26 октября, в 17:00 состоится онлайн-митап, посвященный JS-разработке: «Гетерогенность, или Деплой JavaScript туда и обратно». На ивенте расскажем, как мы в «Лаборатории Касперского» развернули несколько веб-приложений в совершенно разных средах на единой кодовой базе, разберем...
Обеспечение безопасности Frontend приложений
Безопасность является важным фактором при создании frontend приложений, поскольку они часто являются отправной точкой для атак. Я решил собрать в одну статью основные меры, которых стоит придерживаться или о которых хотя бы нужно задуматься. Следуя этим основным мерам безопасности, frontend...
[Перевод] Лучшие практики безопасности Node.js
Назначение Этот документ призван расширить текущую модель угроз и предоставить подробные рекомендации по обеспечению безопасности приложения Node.js. Читать далее...
XSS с мутациями: как безопасный код становится зловредным и при чем здесь innerHTML
В статье сначала взглянем на примеры mXSS уязвимостей недалекого прошлого, а затем рассмотрим совсем свежие примеры, которые позволили обойти защиту популярных HTML-санитайзеров. Разберемся как им это удалось, и почему так сложно надежно защититься от уязвимостей, основанных на мутациях...
Разработчики Chrome снизили приоритет критической уязвимости в Chrome. Вы можете с этим помочь
На днях была новость о том, что в релизной версии Chrome уже какое-то время можно переписать содержимое буфера обмена пользователя. Идиотизма ситуации прибавляет то, что проблема появилось из-за того, что у одного разработчиков не проходили тесты. Сначала на багтрекере проблеме выставили нулевой...
manifest.json подводные камни
Установка расширения в браузер возможна благодаря такой замечательной штуке, как manifest.json. Но что он может скрывать и почему важно изучать (по возможности) манифест перед установкой. Сегодня мы это разберем! Читать далее...
Фантастические веб-уязвимости и где они обитают
Мы часто слышим в новостях фразы «Хакеры атаковали», «Хакеры взломали», «Хакеры украли» и подобные. Как сообщают legaljobs, хакеры проводят 1 атаку в вебе каждые 32 секунды. По прогнозам cybercrime magazine, ущерб от киберпреступлений к 2025 году составит $10,5 трлн против $3 трлн в 2015 году. Но...
[Перевод] Невидимый Javascript-бэкдор
Несколько месяцев назад мы увидели пост в сабреддите r/programminghorror: один разработчик рассказал о своих мучениях с поиском синтаксической ошибки, вызванной невидимым символом Unicode, скрывавшемся в исходном коде на JavaScript. Этот пост вдохновил нас на мысль: что если бэкдор в буквальном...
[Перевод] Поиск автора вредоносного ПО с помощью реверс-инжиниринга
Контекст: я занимаюсь администрированием небольшого Discord-сервера по разработке. И недавно один из пользователей сообщил, что кто-то пытался заставить его загрузить Exe-файл. Первое, что стоило узнать, это открывал ли пользователь этот, как оказалось, вредоносный файл. И, к сожалению, он его...
Скрытие информации в Angular
Всем привет! Меня зовут Вадим, я занимаюсь тестированием безопасности приложений. С недавнего времени увлекся разработкой на фреймворке Angular. Я решил объединить свое новое увлечение со своей основной работой и показать результаты своего исследования в данной статье. В данной статье описано как...
От Prototype Pollution к RCE на ZeroNights X
В рамках данной статьи мы рассмотрим уязвимость Prototype Pollution на клиенте и AST-injection на сервере и то, к чему может привести их совместная эксплуатация, а также, как они были встроены для обучения в конкурс “Hack To Be Hired” на ZeroNights X от Академии Digital Security. Всем желающим...