• 🔥 Бесплатный курс от Академии Кодебай: «Анализ защищенности веб-приложений»

    🛡 Научитесь находить и использовать уязвимости веб-приложений.
    🧠 Изучите SQLi, XSS, CSRF, IDOR и другие типовые атаки на практике.
    🧪 Погрузитесь в реальные лаборатории и взломайте свой первый сайт!
    🚀 Подходит новичкам — никаких сложных предварительных знаний не требуется.

    Доступ открыт прямо сейчас Записаться бесплатно

Программирование для ИБ

Статья Скачиваем вложения из постов группы ВК с помощью Python

  • 5 182
  • 5
На создание данного скрипта меня натолкнула работа с плейлистами m3u, когда я пытался создать чекер работоспособности ссылок. Процесс создания частично описан вот в этой статье. Тогда, для тестирования мне нужно было скачивать большое количество плейлистов. Таковые нашлись в ВК. Вот только скачивать руками все это было достаточно долго. Поэтому, на том этапе, я сделал простенький загрузчик и пользовался им. А позже решил сделать его немного более универсальным, ведь в ВК, к примеру, публикуются не только плейлисты во вложениях, но, также книги и изображения с разными полезными инструкциями. Конечно же, для его создания я использовал Python.

000.jpg

Принцип работы загрузчика довольно прост и использует VK API. Для того, чтобы можно было использовать его в более удобном виде, нашлась для этого библиотека. Таким...

Статья Кодирование/декодирование изображений и документов в формат base64 с помощью Python

  • 4 890
  • 0
Все, кто пользуется интернетом, так или иначе сталкивались с изображениями в формате base64. Но, обычно для пользователя это «столкновение» происходит незаметно, даже если он сохраняет такую картинку себе на жесткий диск. Браузер сам проводит необходимое декодирование. Другое дело, если вы используете какой-либо скрипт. В этом случае, перед сохранением изображения, его нужно декодировать. И тут уже задача полностью ложится на код и его возможности. Давайте посмотрим, как можно декодировать изображения в формате base64 с помощью Python, а также попробуем кодировать документы других типов, отличные от изображений.

000.png

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

Статья Перехват запросов с веб-страницы с помощью selenium и browsermobproxy в Python

  • 9 789
  • 14
На поиск решения для данной статьи меня натолкнул вот этот вопрос пользователя (Статья - Немного об IPTV или проверка m3u с помощью Python. Часть 01). Изначально я подумал, что он просто не может найти ссылку, которая улетает в запросах для загрузки файла. Но, как оказалось, ему нужно не совсем это. А необходимо получать ссылку, в его случае это ссылка на загрузку плейлиста, в автоматическом режиме. Таким образом, использование инструментов разработчика автоматически отпало. Я покопался в интернете и нашел ответ на этот вопрос, который и послужил толчком для написания этого кода на Python.

000.jpg

А дело здесь вот в чем. Имеется определенный сайт с онлайн-трансляциями различных каналов. Но, сервера постоянно меняют ссылки на потоки. А соответственно, так как пользователь хотел получить свежую ссылку, ее...

Змея в пакете. Создаем TLS соединение на Python

  • 6 421
  • 1
Logotype.jpg

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

План работы

Перед тем как перейти к работе, следует набросать план, по...

Статья Парсинг страницы с треками, формирование плейлистов и использование mutagen для чтения метаданных аудиофайлов в Python

  • 4 519
  • 1
Давайте сегодня займемся парсингом, а заодно посмотрим, как работает библиотека для извлечения IDv3 тегов из аудиофайлов. Парсить будем сайт, с которого можно бесплатно скачать музыкальные треки. Скажем так, совместим приятное с полезным. Попрактикуемся немного в парсинге, а заодно скачаем себе несколько треков, для прослушивания локально. Ну или не совсем. Давайте посмотрим, как это сделать с помощью Python.

000.png

Предыстория у создания этого скрипта простая. Захотелось послушать музыку. Слушать в браузере не хотелось. Тем более, что мне понравился консольный медиаплеер mpv. Шустрый и легкий. Я и подумал, а почему бы мне не найти сайт, забрать оттуда ссылки на треки, сделать плейлист, а потом слушать эти треки в плеере? Так я и сделал. Заодно добавил возможность скачивать эти треки и делать плейлист уже из загруженных локальных файлов.

На самом деле, простейший плейлист сделать совсем несложно. Нужно создать файл с...

Статья Используем двухэтапную (двухфакторную) аутентификацию в Python

  • 5 846
  • 0
Двухфакторную аутентификацию в том или ином виде используют уже довольно давно. Изначально, данный способ предусматривал аутентификацию с помощью SMS-кода. Однако, такой способ не является достаточно надежным, поэтому с некоторых пор стали использовать аутентификацию на базе одноразового пароля. Не обязательно он должен отправляться на смартфон клиента. Возможны и другие решения. Давайте рассмотрим способ реализации аутентификации такого рода с помощью Python.

000_0.png

Для создания небольшого демонстрационного приложения мы будем использовать библиотеку, которая как раз и предназначена для создания и валидации одноразового пароля. В англоязычном варианте такая аутентификация называется OTP, то есть, аббревиатура от слов one time password. Так как этот пароль одноразовый, то действует он только лишь в течении одного сеанса аутентификации. Также, действие пароля ограничено определенным промежутком времени. В нашем случае...

Статья Создание меню выбора клавишами в терминале с помощью Python

  • 7 667
  • 4
Когда мы пишем какое-то консольное приложение подразумевающее пользовательский выбор, хорошо было бы иметь такой инструмент, который бы создавал нужное нам меню и позволял перемещаться по нему с помощью стрелок на клавиатуре. Ведь это гораздо удобнее, чем просить пользователя ввести какую-либо цифру, соответствующую тому или иному пункту. И такой инструмент есть. Давайте посмотрим, как его реализовать в скрипте Python.

000.png

К сожалению, все, что будет описано далее не работает в ОС Windows. Поэтому, речи о кросплатформенности тут не идет. Однако, в Linux данный код работает прекрасно. Давайте создадим небольшой скрипт, который будет использовать меню для пользовательского выбора и запускать те или иные файлы или ссылки в консольном медиаплеере mpv.

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

Статья Немного об IPTV или проверка m3u с помощью Python. Часть 02

  • 11 499
  • 25
Это вторая часть статьи о проверке плейлистов на работоспособность. Небольшие пояснения для тех, кто не читал первую часть. В прошлой статье мы создали небольшие инструменты для обработки плейлистов. Такие скрипты как: разбиение плейлиста на части, объединение, сортировка по именам каналов. А также проверка плейлистов с помощью плеера VLC. В этой же части я попробую рассказать, как я пытался сделать чекер и, что из этого получилось.

000_01.png

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

Статья Определение типа файла по его сигнатуре с помощью Python

  • 7 125
  • 0
Вполне возможно, что при разработке приложений вам может понадобиться определение типа файла. И не всегда тип файла можно узнать по расширению. Если в ОС Linux это не составляет больших проблем, так как данная операционная система распознает тип файла не по расширению, а по содержимому, то вот в Windows отсутствие расширения иногда вызывает множество вопросов. Давайте попробуем понять, как можно определить тип файла с помощью Python.

68416866.jpg

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

Из сторонних модулей можно выделить magic. С ее помощью довольно точно можно узнать mime-тип файла. Вот только работа данного модуля завязана на библиотеку libmagic1. То есть, по сути это просто оболочка вокруг данной библиотеки. И для работы модуля требуется ее наличие. И если в...

Статья Пишем шифровальщик на python ч1

  • 1 035
  • 4
Unlock.jpg

Введение

Приветствую всех!

Во время активного изучения python, я нарвался на книгу "Black Hat Python: программирование для хакеров и пентестеров 2-е издание Джастин Зейтц, Тим Арнольд". И там рассматривалось написание шифровальщика с использованием гибридного шифрования, используя лучшие качества симметричной и асимметричной криптографии. AES - это алгоритм симметричного шифра. Симметричным его делает то, что для шифрования и расшифровки применяется один и тот же ключ. Он очень быстрый и способен справляться с большими объемами текста.

И асимметричный шифр RSA, в котором используются открытые/закрытые ключи. Один ключ (обычно открытый) нужен для шифрования, а другой (обычно закрытый) - для расшифровки.

Мы задействуем RSA...