• Hack The Box — прохождение Postman. Redis и WebMin

    • Tutorial
    image

    Продолжаю публикацию решений отправленных на дорешивание машин с площадки HackTheBox. Надеюсь, что это поможет хоть кому-то развиваться в области ИБ. В данной статье нам придется проэксплуатировать уязвимости в Redis и WebMin, а также подобрать пароль к зашифрованному ключу RSA.

    Подключение к лаборатории осуществляется через VPN. Рекомендуется не подключаться с рабочего компьютера или с хоста, где имеются важные для вас данные, так как Вы попадаете в частную сеть с людьми, которые что-то да умеют в области ИБ :)

    Организационная информация
    Специально для тех, кто хочет узнавать что-то новое и развиваться в любой из сфер информационной и компьютерной безопасности, я буду писать и рассказывать о следующих категориях:

    • PWN;
    • криптография (Crypto);
    • cетевые технологии (Network);
    • реверс (Reverse Engineering);
    • стеганография (Stegano);
    • поиск и эксплуатация WEB-уязвимостей.

    Вдобавок к этому я поделюсь своим опытом в компьютерной криминалистике, анализе малвари и прошивок, атаках на беспроводные сети и локальные вычислительные сети, проведении пентестов и написании эксплоитов.
    Читать дальше →
    • +13
    • 4,6k
    • 1
  • Анализ тональности фраз с помощью нейронных сетей

      Всем привет!

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

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

      Данные


      Первой задачей на моем пути оказался сбор и предобработка данных для обучения. Хорошим датасетом для такого дела является корпус коротких текстов Рубцовой Ю., предварительно разделенный на негативные и позитивные предложения, собранные на просторах Твиттера. Что особенно удобно — все это существует в формате CSV.

      Подготовка к обучению


      Обратите внимание, в каком виде представлены данные — куча смайликов, ссылок, ненужных символов, обращений. Все это не является важной информацией и только мешает обучению, к тому же надо убрать все на латинице. Поэтому текст хорошо бы предобработать.
      Читать дальше →
    • Размещаем индекс Lucene в RAM при помощи Azul Zing JVM

      • Перевод
      Весь поисковый индекс Google размещается в RAM памяти уже как минимум 5 лет. Почему бы не попробовать сделать то же самое и с поисковым индексом для Lucene?

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

      Очевидный вопрос – не попробовать ли нам загрузить весь индекс, в предоставляемый Lucene класс RAMDirectory?
      Читать дальше →
    • Выбор базы данных для аналитики



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

      Для анализа нужен отдельный вид базы данных. Но какой из них верный?

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

      Работая с большим количеством клиентов, мы обнаружили, что наиболее важными критериями, которые необходимо учитывать, являются:

      • Тип анализируемых данных
      • Сколько у вас данных
      • Фокус вашей инженерной команды
      • Как быстро вам нужна информация
      Читать дальше →
    • Тикет-системы: как бесплатная OTRS три платных уделала?

        Бесплатный софт для бизнеса — спорная история. Компания, которая выбирает такое ПО, должна понимать, что либо ей придётся столкнуться с open source и искать разработчика на поддержку программы, либо принять бесплатную версию программы как есть, без надежды на поддержку, доработку и обучение. Так себе перспектива. Но это с позиций околоайтишного обывателя, который слова «open source» и «вендорское внедрение» выучил, а глубоко не погружался. А мы вот взяли и решили растолковать всё на примере одного популярного ПО, которое может пригодиться и большим, и маленьким компаниям. Давайте разбираться вместе.


        Морали не будет, а вот выбор есть
        Читать дальше →
      • Начинаем работу с Google Sheets на Python. От регистрации до чтения данных

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

        Начав переводить ряд проектов на Python, решил, что самое время сменить (или дополнить) Excel чем-то более современным.

        Когда я впервые столкнулся с необходимостью работы c таблицами Google из Python, то пребывал в иллюзии, что все это можно сделать в пару кликов. Реальность оказалась менее радужной, но другого глобуса у нас нет.

        Мне очень помогли статьи:


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

        Возможно, я просто шел длинным путем – буду рад, если вы меня поправите.

        Все действия выполнялись на компьютере с Windows + Python 3.6.6, также использовался Jupyter Notebook.

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

        Код, использованный в статье, доступен в репозитории
        Читать дальше →
        • +9
        • 10,9k
        • 4
      • Вредные советы или причины продолжить изучать английский после уровня Intermediate

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

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

          КДПВ
          Читать дальше →
        • Как послать провайдера подальше, и включить DNS по HTTPS в любом браузере

          • Перевод

          Поддержка DoH уже встроена во все основные браузеры. Пользователям нужно её только включить и настроить.


          Все шесть производителей основных браузеров планируют поддерживать протокол DNS по HTTPS (DoH), шифрующий DNS-трафик и помогающий усилить конфиденциальность пользователя в сети.

          Этот протокол является одной из самых обсуждаемых тем этого года. Он позволяет браузеру прятать DNS-запросы и ответы внутри обычного на первый взгляд HTTPS-трафика.

          Это делает DNS-трафик пользователя невидимым для сторонних наблюдателей за сетью, например, провайдеров. Однако если пользователи обожают DoH и считают его благом для конфиденциальности, провайдеры и производители средств кибербезопасности его ненавидят.

          Британский провайдер назвал Mozilla «интернет-злодеем» за планы компании по внедрению DoH, а группу лоббистов от Comcast уличили в подготовке документа касательно DoH, который они планируют представить законотворцам Британии, надеясь предотвратить более широкое распространение протокола.
          Читать дальше →
        • Как устроены сервисы управляемых баз данных в Яндекс.Облаке

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

            Меня зовут Владимир Бородин, я руководитель платформы данных Яндекс.Облака. Сегодня я хочу рассказать вам, как всё устроено и работает внутри сервисов Yandex Managed Databases, почему всё сделано именно так и в чём преимущества – с точки зрения пользователей – тех или иных наших решений. И конечно, вы обязательно узнаете, что мы планируем доработать в ближайшее время, чтобы сервис стал лучше и удобнее для всех, кому он нужен.

            Что ж, поехали!

            image
            Читать дальше →
          • Путь из программиста в предприниматели (и стоит ли по нему идти)

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

              Презентация не является мотивационной речью. Скорее напротив — указывает на те сложности, с которыми придется встретиться, и старается сфокусировать на тех основных вещах, которые наиболее важны на старте. Несмотря на очевидность некоторых тезисов, мне порой приходилось потратить очень много времени и денег, чтобы к ним прийти. Надеюсь, что выводы из моего опыта, представленные в выступлении, облегчат кому-то путь к построению собственного начинания.
              Читать дальше →
            • TabPy для работы с данными в ClickHouse из Tableau

                Выстраивание коммуникаций между брендами и людьми — то, чем мы в Dentsu Aegis Network занимаемся каждый день, и неотъемлемой частью этой работы является анализ данных. В ряде случаев этот процесс не требует data science (хотя и он у нас есть), тогда мы используем BI платформу Tableau. Ее основная цель — дать нашим сотрудникам и клиентам удобный интерфейс для потребления данных без написания скриптов, SQL запросов и т.п.

                В этой статье мы расскажем, как нам удалось решить проблему взаимодействия Tableau с ClickHouse.
                Читать дальше →
              • Как выучить иностранный язык

                  Я расскажу о том, как изучать иностранный язык и буду это делать на примере личного опыта изучения английского языка. Английский я начал учить в 36 лет, а уже сейчас у меня свободный английский язык (как письменный, так и устный), подтверждённый официальными сертификатами. Чтобы не быть голословным: у меня есть сертификат IELTS 7.5 баллов (это С1 level) и сертификат переводчика NAATI. Короче, я знаю о чем говорю.


                  Оглавление:


                  1. Отступление про умных людей и прочих полиглотов
                  2. Первый шаг
                  3. Какой преподаватель нужен (уровень преподавателя)
                  4. Где искать преподавателя
                  5. Развитие навыков: слушание
                  6. Развитие навыков: чтение
                  7. Развитие навыков: письмо
                  8. Развитие навыков: разговор: произношение
                  9. Развитие навыков: разговор: языковой барьер
                  10. Словарный запас
                  11. Самое главное


                  Итак, вопрос: “Как выучить английский язык?”.

                  Читать дальше →
                • Вокруг Света за 4 Секунды на Columnstore (Часть 1)

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

                  В примерах я буду использовать набор данных, содержащий 52 608 000 записей.

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

                  Поставив не сложные эксперименты, мы увидим, что обычная таблица не является подходящим источником для аналитических запросов.

                  Если читатель без труда может расшифровать аббревиатуры OLTP и OLAP, возможно есть смысл перейти сразу к разделу Columnstore

                  Два подхода к работе с данными


                  Здесь я буду краток, т.к. информации по этой теме в интернете более, чем достаточно.

                  Итак, на самом верхнем уровне существует всего два подхода к работе с данными: OLTP и OLAP.

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

                  OLAP — можно перевести как аналитическая обработка большого количества транзакций за один раз. Любой отчет использует именно этот подход, ведь в подавляющем большинстве случаев отчет выдаёт сводные, агрегированные цифры по определённым разрезам.
                  Читать далее
                  • +15
                  • 2,2k
                  • 6
                • PEG парсеры

                  • Перевод

                  Несколько лет назад меня кто-то спросил имеет ли смысл превести Python на PEG-парсер (или на грамматику PEG; я не помню точно кто и когда это было). Тогда я немного посмотрел на него, но так и не пришёл к какому-либо выводу, а потому и отбросил эту тему. Недавно я узнал больше о PEG (Parsing Expression Grammars, грамматике по парсингу выражений), и теперь я думаю, что это интересная альтернатива самописному генератору парсеров, который был разработан 30 лет назад, когда только начинал работать над Python. Я назвал его «pgen», и это был, наверно, первым фрагментом кода, который я написал для Python.



                  Причина, по которой я сейчас заинтересован в парсере PEG, заключается в том, что меня несколько раздражают ограничения pgen. Он построен на собственной реализации LL(1), которая имеет ряд допущений. Например, мне не нравились грамматические правила, которые могли бы генерировать пустые строки, поэтому я запретил их. И тем самым упростил алгоритм для создания таблиц синтаксического анализа. Я также изобрёл свою собственную EBNF-подобную грамматическую нотацию, которая мне до сих пор очень нравится.

                  Читать дальше →
                  • +25
                  • 5,6k
                  • 9
                • Who you gonna call: создаем обзвон в конструкторе ботов и учимся не бесить людей

                    Трудно быть ботом, когда приходится звонить человеку: боты бесят. Но вы знаете, люди, которые звонят в неподходящий момент и предлагают нерелевантные услуги и товары, бесят тоже. Дело вовсе не в том, что с вами говорит робот, а в том, что за кейс был выбран для голосового обзвона, как реализован сценарий, подумали ли его создатели над UX и что полезного этот бот умеет.
                    Мы понаблюдали за пользователями конструктора ботов и звонков Aimylogic и собрали все важные фичи, инсайты и ошибки в туториал. Под катом разбираем технические хитрости и секреты создания голосового обзвона, который приносит пользу и почти не раздражает.



                    Зачем звонить, когда можно писать?


                    Читать дальше →
                  • Инструменты для запуска и разработки Java приложений, компиляция, выполнение на JVM

                      Ни для кого не секрет, что на данный момент Java — один из самых популярных языков программирования в мире. Дата официального выпуска Java — 23 мая 1995 года.

                      Эта статья посвящена основам основ: в ней изложены базовые особенности языка, которые придутся кстати начинающим “джавистам”, а опытные Java-разработчики смогут освежить свои знания.

                      * Статья подготовлена на основе доклада Евгения Фраймана — Java разработчика компании IntexSoft.
                      В статье присутствуют ссылки на внешние материалы
                      .




                      Читать дальше →
                      • +8
                      • 11,4k
                      • 7
                    • Суд США полностью легализовал скрапинг сайтов и запретил ему технически препятствовать

                        Вчера Апелляционный суд 9-го округа США принял решение (pdf), что скрапинг публичных сайтов не противоречит закону CFAA (Computer Fraud and Abuse Act).

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

                        Сейчас многие владельцы сайтов пытаются поставить технические препоны конкурентам, которые полностью копируют их информацию, не защищённую копирайтом. Например, цены на билеты, товарные лоты, открытые профили пользователей и т. д. Некоторые сайты считают эту информацию «своей», а скрапинг расценивают как «воровство». Юридически это не так, что теперь закреплено официально в США.
                        Читать дальше →
                      • Spring Cache: от подключения кэширования за 1 минуту до гибкой настройки кэш-менеджера

                        • Tutorial
                        Раньше я боялся кэширования. Очень не хотелось лезть и выяснять, что это такое, сразу представлялись какие-то подкапотные люто-энтерпрайзные штуки, в которых может разобраться только победитель олимпиады по математике. Оказалось, что это не так. Кэширование оказалось очень простым, понятным и невероятно лёгким во внедрении в любой проект.



                        В данном посте я постараюсь объяснить о кэшировании так же просто, как это сейчас понимаю я. Вы узнаете о том, как внедрить кэширование за 1 минуту, как кэшировать по ключу, устанавливать время жизни кэша, и многие прочие штуки, которые необходимо знать, если Вам поручили закэшировать что-то в вашем рабочем проекте, и Вы не хотите ударить в грязь лицом.
                        Читать дальше →
                        • +9
                        • 10,3k
                        • 6
                      • Хорошее плохое интервью

                          Это будет небольшая история про большую лень.


                          Так сложилось, что задача поиска людей в команду упала на менеджера проекта. А роль менеджера проекта упала на меня. This is a story of my life...


                          image

                          Читать дальше →
                          • +17
                          • 10,6k
                          • 8
                        • Time series данные в реляционной СУБД. Расширения TimescaleDB и PipelineDB для PostgreSQL

                            Time series данные или временные ряды — это данные, которые изменяются во времени. Котировки валют, телеметрия перемещения транспорта, статистика обращения к серверу или нагрузки на CPU — это time series данные. Чтобы их хранить требуются специфичные инструменты — темпоральные базы данных. Инструментов — десятки, например, InfluxDB или ClickHouse. Но даже у самых лучших решений для хранения временных рядов есть недостатки. Все time series хранилища низкоуровневые, подходят только для time series данных, а обкатка и внедрение в текущий стек — дорого и больно.



                            Но, если у вас стек PostgreSQL, то можете забыть о InfluxDB и всех остальных темпоральных БД. Ставите себе два расширения TimescaleDB и PipelineDB и храните, обрабатываете и проводите аналитику time series данных прямо в экосистеме PostgreSQL. Без внедрения сторонних решений, без недостатков темпоральных хранилищ и без проблем их обкатки. Что это за расширения, в чем их преимущества и возможности, расскажет Иван Муратов (binakot) — руководитель отдела разработки в «Первой Мониторинговой Компании».
                            Читать дальше →