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

Статья Способы получения информации об ОС и железе с помощью Python. Часть 02: ОС Windows и subprocess. Консольная утилита wmic

  • 6 320
  • 10
Эта статья является второй частью, из небольшого цикла статей по получению информации об операционной системе и железе. И если в первой части мы получали информацию из реестра ОС Windows с помощью библиотеки winreg, то в этой статье посмотрим, как можно использовать библиотеку subprocess, в частности метод check_output. Именно с помощью данной библиотеки мы будем выполнять команды в операционной системе и с помощью утилиты wmic получать необходимые данные.

000.png

WMIC, это программа командной строки, которая представляет более удобный интерфейс для инструментария управления Windows, то есть WMI. Она основана на псевдонимах, которые упрощают использование и чтение WMI. Помимо этого, с помощью параметра CLASS можно использовать явный ввод класса схемы WMI без использования псевдонимов. Но в контексте данной статьи мы этого делать не будем, да это и не требуется. Не знаю, как долго будет находиться данная программа в операционной системе, так как с версии ОС Windows 10 21H1...

Статья Способы получения информации об ОС и железе с помощью Python. Часть 01: ОС Windows и модуль winreg

  • 7 340
  • 0
Определение оборудования компьютера, на котором вы работаете, сведения об операционной системе и прочие параметры порою бывают очень нужны. Цели, в которых их можно использовать – самые разнообразные. От простого любопытства, до определения версии чипсета, чтобы подобрать под него необходимое железо для апгрейда. И мы все, за годы использования привыкли пользоваться программами сторонних производителей. Это и не хорошо, и не плохо. Каждый инструмент выполняет свою задачу в нужное время и в нужном месте. Но, для большего понимания того, как и откуда берется информация, в те же самые программы, можно написать свое собственное, небольшое консольное приложение на Python. Давайте рассмотрим несколько вариантов того, как и с помощью каких модулей это можно сделать. А также попробуем оценить быстродействие получившихся скриптов, количество выводимой информации.

000.jpg

А начнем мы написание наших скриптов с попытки получения информации из реестра операционной системы Windows.

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

Статья Объединение документов формата Microsoft Word в один с помощью Python

  • 6 107
  • 0
Не могу сказать за всех, а у меня иногда возникает необходимость в объединении нескольких файлов формата «.docx» в один документ. И зачастую это приходиться делать вручную, что занимает довольно много времени, так как большая его часть уходит на открытие документа, копирование и вставку в объединенный документ. Чтобы ускорить данный процесс я попробовал написать небольшой скрипт на Python, который делает все указанные операции в автоматическом режиме.

000.jpg

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

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

  • 4 317
  • 2
Иногда, при исследовании сайта необходимо знать, какие технологии использовались при его разработке, а также используются в данный момент. Инструментов, которые предоставляют такой функционал не так уж и много. Одним из популярных решений является Wappalyzer. Посмотрим, как можно использовать данный инструмент при определении технологий с помощью Python.

000.jpeg

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

Что потребуется?

Для работы данного скрипта необходимо установить две сторонние библиотеки. Первая – это requests. С его помощью мы будем выполнять запросы к...

Статья Работа с форматом CSV с помощью Python

  • 10 754
  • 1
О формате CSV, а также о том, как работать с ним с помощью Python существует большое множество статей. И, казалось бы, что такого сложного в том, чтобы прочитать или записать данный формат. Однако, вспоминая себя и то время, когда я только начал изучать Python я хорошо помню некоторое недопонимание этого вопроса. Может быть, поэтому я решил написать эту небольшую статью. Конечно же, рассмотреть все тонкости и нюансы думаю, что не получиться, но вот базовые операции с данным типом файлов я постараюсь описать.

000.jpg

Давайте начнем с определения формата. Что же такое CSV-файл? CSV – это аббревиатура. В более развернутом варианте звучит это так - Comma-Separated Values, то есть, значения, разделенные запятыми. Данный формат был разработан для представления табличных данных. Таким образом, каждая строка таблицы соответствует строке текста. В такой строке содержится одно или несколько полей, которые разделены запятыми.

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

Статья Перехват базовых запросов с помощью Selenium Wire и Python

  • 18 448
  • 30
В данной статье я хотел бы вернуться к способам перехвата запросов и ответов API в браузере. С помощью Selenium в связке с Python можно парсить достаточно сложные сайты, которые требуют выполнения различного рода скриптов. Но иногда этого бывает недостаточно и требуется получить данные, которые возвращает API на внешний интерфейс. В этом случае можно воспользоваться локальным прокси-сервером, как в этой статье (Статья - Перехват запросов с веб-страницы с помощью selenium и browsermobproxy в Python). Или, для перехвата запросов и ответов, можно воспользоваться Wireshark. Но это уже будет внешнее приложение. Давайте разберемся, как с помощью дополнительной библиотеки и Python перехватывать запросы и ответы без использования внешнего прокси.

000.png


Давайте поставим некоторую задачу, выполнение которой продемонстрирует работу по перехвату запросов и ответов. К примеру, у нас есть Облако Mail.ru. И в этом облаке храниться некий мультимедийный контент, например видео-курсы по Python...

Статья Автоматизированный сбор данных с сайта бесплатных объявлений с помощью Python

  • 11 752
  • 7
Решил я тут на днях попробовать парсить Авито. Наверное, раньше это была одна из излюбленных площадок для обучения парсингу. И, действительно, ещё примерно год назад можно было собирать данные с этой площадки особо не напрягаясь. Но, возможно, в связи с громкими утечками данных защита от парсинга значительно усилилась. Сначала появились временные телефоны, которые, насколько я понимаю, выделяются на виртуальной АТС. И если ещё какое-то время назад их можно было посмотреть без авторизации, то теперь это обязательное условие. Единственные, чьи телефоны остались доступны для просмотра, это телефоны организаций. Но, сами по себе они ценности не имеют, так как, по сути, доступны в любом онлайн справочнике.

000.png

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

Статья Загрузка файла частями с помощью и без использования потоков в Python

  • 7 315
  • 0
Загрузка файлов из интернета — это всегда интересная задача. Конечно, в нынешнее время, когда скорости соединения переваливают за сотню мегабит в секунду, это вопрос не такой актуальный, как раньше. Мне стало интересно потестировать скорость загрузки файлов и изображений с разных сайтов с использованием Python.

000.jpeg

Может быть вы помните, был такой Download Manager. Впрочем, он и сейчас существует. Но когда-то его популярность просто зашкаливала. Еще бы. Позволяет качать файлы в несколько потоков. Докачивает файлы при обрыве соединения. Но, речь сейчас не о нем. Давайте попробуем реализовать многопоточную загрузку файлов с помощью Python и сравнить, сильно ли отличается скорость загрузки.

Что потребуется?

Для работы скриптов потребуется установить библиотеку requests. С ее помощью мы будем загружать тестируемые файлы. Для ее установки пишем в терминале:

pip install requests

Больше в сторонних библиотеках, в данном случае, потребности больше не возникнет. Все остальное есть в Python «из коробки».

Для начала создадим четыре файла, в которых реализуем похожий функционал...

Статья Методы обхода защиты от автоматизированного ПО в браузере Chrome под управлением Selenium в Python

  • 31 910
  • 9
При парсинге данных возникают ситуации, когда нужно получить доступ к сайту с помощью драйвера selenium. Так как на странице сайта в коде выполняются скрипты, которые добавляют в код данные, доступ к которым с помощью обычных запросов получить просто не получиться. Но, все может быть немного печальнее. К примеру, страница может находиться за CDN, такой как Cloudflare, с включенной проверкой браузера. В этом случае обычный драйвер selenium доступ к странице не получит, так как будет определено, что используется автоматизированное тестовое ПО. Но, даже в этих случаях выход есть. Давайте посмотрим, как можно обойти данную проверку с помощью отключения определенных опций в браузере, а также рассмотрим уже модифицированную версию драйвера для Chrome, в которой уже из коробки отключены данные опции. Но, обо всем по порядку.

prew.jpg

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

Статья Создаем приложение для хранения данных в базе sqlite с помощью Python и Qt. Часть 02

  • 9 365
  • 0
Данная статья является продолжением первой части (Создаем приложение для хранения данных в базе sqlite с помощью Python и Qt. Часть 01) в которой мы начали создавать приложение для хранения документов в формате HTML в базе данных sqlite с помощью Python и Qt Designer. И если в первой части мы рассмотрели код для взаимодействия с базой данных, то в этой части сосредоточимся на создании графического интерфейса и описания программной части для взаимодействия с его элементами.

000_02.png

Что потребуется?

Как устанавливать Qt Designer в операционных система мы рассмотрели в предыдущей статье. На всякий случай напомню как это делается, если вы первую часть не читали. Для установки Дизайнера в операционной системе Linux необходимо выполнить последовательно несколько команд в терминале:

Код:
sudo apt-get install python3-pyqt5
sudo apt-get install pyqt5-dev-tools
sudo apt-get install qttools5-dev-tools

Для установки Дизайнера в Windows выполняем...
🚀 Первый раз на Codeby?
Гайд для новичков: что делать в первые 15 минут, ключевые разделы, правила
Начать здесь →
💼 Вакансии и заказы в ИБ
Pentest, SOC, DevSecOps, bug bounty — работа и проекты от проверенных компаний
Карьера в ИБ →

Статистика форума

Темы
50 960
Сообщения
344 713
Пользователи
148 472
Новый пользователь
idk what brought me here