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

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

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

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

Статья Пишем свой эксплойт: введение в exploit development для практикующих пентестеров

  • 606
  • 0
Схема разработки эксплойта: от анализа уязвимости до выполнения shell-кода


💥 Готовы перейти от сканирования портов к созданию собственного эксплойта?
Один из ключевых навыков пентестера — умение писать свои инструменты. Когда готовые эксплойты не подходят, а автоматизация бессильна — приходит время взять контроль в свои руки. Эта статья — ваш входной билет в мир exploit development.

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

🔍 Идеально для тех, кто уже владеет основами пентестинга и хочет углубиться в разработку собственных атакующих средств.
🚀 Пора перестать быть пользователем чужих решений — создавайте свои эксплойты и атакуйте осознанно!

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

  • 2 928
  • 0
В предыдущих статьях по обработке наборов данных: статья 1, статья 2, мы написали скрипт, с помощью которого можно обработать данные из файлов «.csv», немного их очистив и нормализовав. Однако, этот скрипт сохранял данные, при большом количестве строк, в разбивке на несколько файлов. Давайте попробуем написать скрипт, который бы объединял эти файлы в один, без существенного использования оперативной памяти, так как размер файлов может быть достаточно велик и держать их в оперативке просто нерационально. В конце концов, она может просто закончиться.

logo.png

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

Статья Обработка наборов данных в csv-файлах с помощью Python. Часть 2

  • 3 428
  • 2
В первой части статьи мы написали функции для нормализации текстовых данных, получаемых из ячеек файла «.csv». Продолжим дописывать код до логического завершения и в данной статье создадим обработчик строк файла, который будет использовать написанные нами функции. Реализуем функции для чтения данных из файлов и сохранения обработанных данных в файл.

logo.png

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

Обработчик строк файла «.csv»

Для начала создадим файл check_csv_row.py. В нем мы будем...

Статья Обработка наборов данных в csv-файлах с помощью Python. Часть 1

  • 4 172
  • 1
Когда мы сталкиваемся с задачей, которая предполагает обработку большого количества «.csv» файлов которые имеют различную структуру столбцов, их название, а также содержимое, которое требует очистки, желательно сделать небольшой скрипт, который поможет обработке.

logo.png

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

Итак, требуемая задача: «Обработать несколько «.csv» файлов, нормализовать содержимое столбцов таким образом, чтобы данные были одного формата. Например, номер телефона: 8 (908) 800 80 80 должен стать: 79088008080».

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

Github. На Python-е среди звёзд.

  • 8 122
  • 12
Превью.jpg

Там царь Кащей над златом чахнет;
Одну я помню: сказку эту
Поведаю теперь я свету...
...Пушкин

Преамбула
В виртуальном мире на живых людей оказывает воздействие один из внешних постулатов: самое востребованное злато в киберпространстве — лайк, или звезды, с точки зрения психологии — те же лайки на Github, но определяющие значимость в среде IT-шников.

На момент написания статьи функционал Github хостинга в «персональной user ленте» не предоставляет пользователям такой щепетильной информации, как например, «некий %username снял звезду в таком-то репозитории», но добросовестно отображает статистику по тем или иным пользователям, кто накидывает звезды проекту. Эта политика и условия использования крупнейшего хостинга IT-проектов направлена на сглаживание любых даже незначительно острых углов...

Скрипты на Python как инструмент для анализа ПО

  • 3 690
  • 0
Всем привет!
В последнее время увлёкся написанием скриптов на Python и решил объединить это увлечение с интересом к ИБ. У меня возникла идея создать скрипт для анализа программного обеспечения и написать на эту тему статью для конкурса.

P.S. Я понимаю, что большинство постояльцев форума — профессионалы с огромным опытом, и моя статья может показаться слишком простой по сравнению с другими. Однако я все же решился опубликовать её, поскольку кого-то она может заинтересовать.


Введение.
Вредоносное ПО (или malware) представляет собой серьёзную угрозу для безопасности компьютерных систем. Анализ вредоносного ПО необходим для понимания его поведения, методов заражения и способов защиты. Python, благодаря своей простоте и богатому набору библиотек, становится всё более популярным инструментом для анализа вредоносного ПО. В этой статье я расскажу о методах анализа ПО с...

Статья Снимаем защиту на изменение данных в документах MS Office, LibreOffice с помощью Python

  • 3 675
  • 0
Форматы офисных документов, такие как: «.docx», «.xlsx», «.odt», «.ods» содержат в себе механизмы, которые могут защитить текст или определенные ячейки в таблице от изменений. Более того, такая защита предусматривает механизм установления пароля для ее снятия. Таким образом, посторонний человек не сможет снять защиту и изменить документ по своему усмотрению.

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

f99d6c679662465e84225dd1844e36f9_fuse_67069409_0.jpg

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

[COLOR=rgb(97, 189...

Наставления изучающим Python. Часть 2. Условия и циклы

  • 3 936
  • 6
Друзья, всех приветствую!
Меня зовут Дмитрий и я являюсь инструктором и соавтором курсов Основы Python и Python для Пентестера академии Codeby.

1705238349523.png 1705238356261.png

Это вторая часть серии статей, где я рассказываю о распространённых ошибках учеников курса и показываю способы исправлениях таких ситуаций. Часть 1.


1. Длинный if

Как многие из вас знают, оператор if в python используется для проверки условий. У этого оператора существуют блоки ветвления elif и else (хотя может использоваться и без них). Зачастую, когда в программах требуются сразу все...

Наставления изучающим Python. Часть 1.

  • 6 230
  • 11
Друзья, всех приветствую!
Меня зовут Дмитрий и я являюсь инструктором и соавтором курсов Основы Python и Python для Пентестера академии Codeby.

1704498167120.png 1704498176151.png


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

1. Именование переменных

[ATTACH type="full"...

Создание быстрого Reverse Shell на Python

  • 6 183
  • 12
python_reverse_shell.jpg

Всем привет. Предлагаю вам краткую статью на тему того, как написать быстрый Reverse Shell на языке программирования Python.

Начнём с подключения необходимых нам библиотек.
subprocess, socket

Написание серверной части
Говорим сокету что будем работать по протоколу TCP (это более надёжное соединение).
Python:
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)

Далее резервируем порт на котором наше соединение будет работать.
Python:
s.bind(('127.0.0.1', 8888))

Метод accept() будет содержать кортеж, содержимое которого присвоится client...