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

Все потоки

Сначала показывать
Порог рейтинга
Уровень сложности

Эксплуатируем переполнение буфера в простом TCP-сервере

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

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

Специально для этого примера я скомпилировал уязвимый TCP‑сервер, который принимает подключения через порт 3301 (Цикада?).

Читать далее
Рейтинг 0
Комментарии 0

Новости

Гармония танцующих  линий

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

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

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

Один из приемов гадания у китайских магов был следующий. На панцире черепахи  рисовались магические знаки,  примитивные схематичные изображения  привычных объектов и пиктограммами. Они были  формой  посредничества между миром людей и природными явлениями.  При нагревании панцирь  трескался и по паутине трещин, знаки увязывались в предсказание или пророчество. При династии Шан,  правители часто гадали на черепашьих панцирях и костях перед принятием важного решения в сфере управления государством. После гадания черепашьи панцири и кости хранились в качестве официальных документов в императорских архивах.

Читать далее
Всего голосов 16: ↑13 и ↓3 +10
Комментарии 11

Классификация экзопланет (часть II построение моделей)

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

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

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

Анимируем 3d-персонажа в Unity3D: скачиваем модель персонажа, скачиваем анимации

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

Первая часть анимирования 3d-персонажа в Unity3d. В статье скачаем 3d-модель персонажа, скачаем скелетные анимации и импортируем их в проект unity.

Читать далее
Всего голосов 6: ↑4 и ↓2 +2
Комментарии 5

Истории

Основание кулера выпуклое?

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

Выпуклое основание – это брак?

Такой вопрос можно встретить от покупателей продукции Noctua, Ice Hammer, Thermalright, ID-COOLING, Arctic Cooling и других именитых брендов.

Читать далее
Всего голосов 11: ↑11 и ↓0 +11
Комментарии 10

Основы Event Loop в JavaScript

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

В JS Event Loop позволяет непрерывно проверять, есть ли в очереди задачи, и, когда стек вызовов пуст, передавать эти задачи на выполнение. Таким образом, долгие операции не мешают продолжению выполнения кода. Именно благодаря Event Loop приложение может оставаться отзывчивым, позволяя юзерам продолжать взаимодействие с интерфейсом, пока в фоне выполняются тяжелые задачи.

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

В этой статье мы рассмотрим, как реализовать Event Loop в JavaScript.

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

Автоматизация или как я избегала общения с коллегами. Часть 1

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

Хочу написать небольшую серию постов о том, как я автоматизировала или ставила на конвейер какие-то процессы, с разной степенью успешности, из личного и рабочего опыта. По функционалу это Python, SQL с привлечением Airflow, гитлаба и других стандартных инструментов.

Не поймите меня не правильно, я люблю людей, и своих коллег тоже (да, они тоже люди). Но когда им резко что-то надо именно сейчас (ad-hoc), и таких нуждающихся 30 человек- то я люблю их чуть меньше.

«Давай игнорировать ошибки» - бодро предложила я, и моя коллега меня поддержала. "Будет весело" - говорили они.

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

Что же я там выдумала
Всего голосов 11: ↑6 и ↓5 +1
Комментарии 14

Решение cryptopals. Часть 2

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

Продолжаем решать задания cryptopals. В этой части рассмотрим блоки заданий 3 и 4, которые посвящены блочному шифрованию, хеш-функциям и генераторам псевдослучайных чисел.

Первая часть

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

ClickHouse как бэкенд для Prometheus

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

Привет! Меня зовут Михаил Кажемский, я Lead DevOps в IT-интеграторе Hilbert Team. В последнее время к нам часто обращаются заказчики, которым нужна помощь с организацией хранения долгосрочных метрик в российских облаках. Так как для многих эта задача сейчас актуальная, в данной статье мы с моим коллегой Денисом Бабичевым решили рассказать, как мы используем мощные возможности ClickHouse для эффективного долгосрочного хранения метрик Prometheus. В статье вы найдете рекомендации по использованию инструмента и описание альтернативных решений, таких как Thanos, Grafana Mimir и Victoria Metrics.

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

Знакомьтесь, SafeTest — новый подход к тестированию фронтенда

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


В этой статье мы поговорим о SafeTest — революционной библиотеке, которая предлагает свежий взгляд на сквозные (E2E) тесты для веб-приложений с пользовательским интерфейсом.
Читать далее
Всего голосов 13: ↑12 и ↓1 +11
Комментарии 2

Подключаемся к BBS через Amstrad NC100 из 1992 года

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

Привет, Хабр! В предыдущей статье мы рассказали, как выглядел один из необычных компьютеров производства Amstrad. Сегодня же попытаемся ответить на самые часто задаваемые вопросы: как можно применить столь старое «железо» в современном мире и можно ли его вывести в сеть Интернет.

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

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

Ближайшие события

Московский туристический хакатон
Дата 23 марта – 7 апреля
Место
Москва Онлайн
Геймтон «DatsEdenSpace» от DatsTeam
Дата 5 – 6 апреля
Время 17:00 – 20:00
Место
Онлайн

Какой будет GPT-2030?

Уровень сложности Сложный
Время на прочтение 27 мин
Количество просмотров 3.1K

Это перевод статьи Якоба Стейнхардта, где он описывает и обосновывает свои оценки того, как будут выглядеть языковые модели в 2030 году. Статья подводит базу для ещё двух, в которых он описывает возможные при наличии подобных систем катастрофические сценарии. Их переводы тоже скоро будут выложены.

Способность GPT4 программировать, творчески генерировать идеи, писать письма и делать немало чего ещё много кого удивила. В машинном обучении она в этом не одинока: до неё меня, как и многих способных прогнозистов удивили математические способности Minerva.

Как меньше удивляться при появлении новых ИИ-разработок? Наш мозг часто совершает прогноз нулевого порядка: смотрит на нынешнее положение дел и добавляет усовершенствования, которые «кажутся осмысленными». Но оценка, что именно «кажется осмысленным», подвержена когнитивным искажениям и будет недооценивать прогресс в столь быстро развивающейся области как машинное обучение. Более эффективный подход – прогнозирование первого порядка: численно оценить историческую скорость прогресса и экстраполировать её вперёд, обращая при этом внимание на возможные причины замедления или ускорения.1

В этом посте я использую этот подход для прогнозирования свойств больших предобученных ИИ в 2030 году. Я дальше буду говорить о “GPT2030”. Это гипотетическая система, которая обладает способностями, вычислительными ресурсами и скоростью вывода, которые получатся, если экстраполировать большие языковые модели на 2030 год (но эта система скорее всего будет обучена и в других модальностях, таких как изображения). Чтобы предсказать свойства GPT2030, я рассмотрел много источников информации, включая эмпирические законы масштабирования, прогнозы о будущих вычислительных мощностях и будущей доступности данных, скорость улучшения по конкретным метрикам, скорость вывода нынешних систем и возможные будущие улучшения параллелизма.

Читать далее
Всего голосов 6: ↑5 и ↓1 +4
Комментарии 20

Двойной эксперимент: как студенты примеряли ML на услуги телеком-операторов

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

За чем стоит будущее IT‑индустрии? Определить главный тренд совсем не сложно — искусственный интеллект и машинное обучение.

Nexign всегда смело смотрит в будущее, так в одном из проектов мы решили выйти за рамки привычных нам подходов: взяли новые технологии — ML, новых специалистов — студентов из профильных вузов, новый формат стажировки — самостоятельная команда из подкованных в теории ребят. Дальше всё решили перемешать, и посмотреть, что из этого получится.

В этой статье расскажем о том, каких успехов достигли в рамках небольшого ML‑проекта.

Читать далее
Всего голосов 8: ↑7 и ↓1 +6
Комментарии 0

Закат эпохи пара, часть 1: Внутреннее сгорание

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

Сейчас, в первые десятилетия XXI века паровые турбины ещё можно встретить (хотя их почти никогда не увидишь), но паровые поршневые двигатели — это архаичный пережиток. Почти все движущиеся машины, которые мы видим — автомобили, грузовики, газонокосилки, самолёты в небе и лодки на воде — получают свою энергию непосредственно от сгорания топлива (например, бензина) внутри цилиндра: внутреннее сгорание, в отличие от внешнего сгорания, которое производит пар из топлива, сжигаемого вне котла.

Двигатель внутреннего сгорания требует отдельной главы в рассказе об эпохе пара по двум причинам. Более очевидная — это роль, которую первый двигатель сыграл в гибели второго. Двигатель внутреннего сгорания можно с некоторой долей справедливости обвинить в убийстве парового двигателя. Другая, менее очевидная причина заключается в том, что внутреннее сгорание развивалось как реакция на пар и под его сенью. На протяжении всего девятнадцатого века двигатель внутреннего сгорания оставался новичком, который искал своё место в мире, где пар стал выбором по умолчанию для всех, кто нуждался в механической энергии.

Читать далее
Всего голосов 15: ↑13 и ↓2 +11
Комментарии 9

Как работает механизм испускания света при триболюминесценции? Знаменитый опыт с сахаром

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

Если разломить кусочек сахара, то выделяется еле заметный голубоватый свет. Сам факт такого свечения сахара при его механическом повреждении описывался ещё Френсисом Бэконом.

Читать далее
Всего голосов 4: ↑3 и ↓1 +2
Комментарии 5

К чему с годами приводит работа с Dependency Injection и Service Locator

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

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

Так произошло и со мной. Я решил написать полноценный функционал для работы с зависимостями и, так как я Android-разработчик, адаптировать для работы в привычной среде для моих привычных задач. 

Делюсь написанным — вдруг вам это поможет прокачать технические скиллы и создать собственную библиотеку. 

Читать далее
Всего голосов 9: ↑7 и ↓2 +5
Комментарии 4

Много-агентное планирование траекторий в децентрализованном режиме: эвристический поиск и обучение с подкреплением

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

Привет! Меня зовут Константин Яковлев, я научный работник и вот уже более 15 лет я занимаюсь методами планирования траектории. Когда речь идет о том, чтобы построить траекторию для одного агента, то задачу зачастую сводят к поиску пути на графе, а для этого в свою очередь обычно используют алгоритм A* или какие‑то из его многочисленных модификаций. Если же агентов много, они перемещаются в рабочем пространстве одновременно, то задача (внезапно) становится несколько более сложной и применить напрямую A* не получится. Вернее получится, но лишь для небольшого числа агентов (проклятье размерности, куда деваться). Тем не менее для централизованного случая, т. е. для случая, когда есть один (мощный) вычислитель, с которым связаны все агенты и который всё про всех знает, решить задачу много‑агентного планирования можно достаточно эффективно. Можно даже находить оптимальные решения для умеренного количества агентов за относительное приемлемое время (например, порядка 1 секунды на современном десктопном PC для 30–50 агентов).

Если же говорить о децентрализованном случае, т. е. о том случае, когда агентам необходимо действовать индивидуально (например, нет устойчивой связи с центральным контроллером), опираясь лишь на собственные (локальные) наблюдения и опыт, то с хорошими решениями задачи становится гораздо сложнее. Когда я говорю «хорошие решения», я имею в виду прежде всего такие алгоритмы, которые бы давали стройные теоретические гарантии в общем случае. Хотя бы гарантии того, что каждый агент дойдёт (за конечное время) до своей цели. Тем не менее, задача интересная и специалисты из индустрии и академии её пытаются решать.

В этом посте я расскажу о наших свежих наработках в этой области, а именно о гибридном методе, которые сочетает в себе принципы классического эвристического поиска (A*) и обучения с подкреплением (PPO). Метод получился неплохим, превосходящим многие современные аналоги по результатам экспериментов, а соответствующая статья была принята на The 38th AAAI Conference on Artificial Intelligence (пока доступен только препринт). Это одна из топовых академических конференций по искусственному интеллекту, которая в этом (2024) году проходила в Канаде (спойлер: я сам визу получить не успел, но моим коллегам и со‑авторам, кто имел ранее выданные Канадские визы, удалось принять личное участие и достойно представить нашу науку на мировом уровне).

Итак, поехали!
Всего голосов 17: ↑17 и ↓0 +17
Комментарии 3

HDD, SSD или NVMe: что выбрать для виртуального сервера (тесты внутри)

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


В сегодняшней статье разберём настройку одного из параметров конфигурации при заказе виртуального выделенного сервера. Речь пойдёт о типе накопителя, который будет использоваться для виртуалки. Попробуем вместе разобраться, чем виды накопителей отличаются друг от друга, и на что может повлиять тот или иной выбор.
Читать дальше →
Всего голосов 31: ↑27 и ↓4 +23
Комментарии 35