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

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

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

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

Статья Эксплуатация python приложений: функция input.

  • 4 054
  • 1
link removed

Привет! Эта маленькая статья расскажет об уязвимости в Python приложении. Эта уязвимость заключается в неправильном использовании функции input(). Для тех из вас, кто использует Python версии 3.x, эта уязвимость не относиться. В Python 3 функция raw_input() была удалена, и ее функциональность была перенесена на новую встроенную функцию, известную как input(). В отличие от Python 2.x, которые существуют как с функцией input(), так и с функцией raw_input(). Поэтому эта статья применима только к программам, написанным на Python 2.x.

Функция eval() в Python получает критику за потенциально опасное неправильное использование. Функция eval() оценивает строку текста, которая передается в качестве ее параметра, принимая возможный второй аргумент для глобальных значений, используемых во время оценки. Кроме того, функция input() в Python 2.x это тоже самое, что написать eval(raw_input()). Это делает функцию input() очень опасной.

Лучший способ понять эту уязвимость...

Статья Эксплуатация python приложений: модуль pickle.

  • 3 759
  • 1
Все части

Привет! Если вы программируете на Python, вы, вероятно, знакомы с библиотекой сериализации pickle, которая обеспечивает эффективную двоичную сериализацию и загрузку типов данных Python. Будем надеяться, что вы также знакомы с предупреждением, которое находится в начале документации о pickle. Вот оно:

Предупреждение. Модуль pickle не предназначен для защиты от вредоносных данных. Никогда не работайте с данными, которые были получены от ненадежного или не прошедшего проверку подлинности источника.

Недавно, я наткнулся на проект, который принимал и распаковывал ненадёжные данные по сети, используя модуль pickle. Опрос некоторых друзей показал, что немногие из них знали о том, насколько легко эксплуатировать этот сервис. Таким образом, эта статья рассказывает о том, насколько легко эксплуатировать эту уязвимость, используя упрощенную версию кода, который я недавно встретил в качестве примера. Здесь я не...

Статья Пишем простой кейлогер на C: Заключительная часть (передача дампа по TCP)

  • 5 359
  • 5
Всем доброго времени суток!

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

Сначала объявим адресные пространства, как всегда:

upload_2017-5-25_11-53-46.png


Потом напишем подпрограмму, которая будет принимать наш Base64, декодировать его обратно в AES, а из него уже будем получать "неформатированный" вывод.

Функция расшировки обратна функции шифрования из первой части (входной параметр это string cipherText).

upload_2017-5-25_11-55-37.png


Главное, чтобы совпадали параметры salt, initialVector, keySize и hashAlgorithm.

Далее идут такие строки. Обращаем внимание на последнюю: она конвертирует Base64 в байты:
upload_2017-5-25_13-5-32.png


ибо как мы помним у...

книга GRAY HAT PYTHON с переводом

  • 14 971
  • 17
Попалась такая интересная книга "GRAY HAT PYTHON" по самостоятельному изучению Python в домашних условиях от Justin Seitz, переведенная на русский язык.

Книга направлена на изучения языка Python с точки зрения пентестера. Всем приятного изучения ;)

Статья Python-скрипт Pypayload

  • 2 827
  • 0
Приветствую! В этой небольшой статье я хочу показать небольшой скрипт, написанный на языке Python. Целью его является автоматизация процесса создания полезных нагрузок с помощью Msfvenom.

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

Итак, PyPayload:

upload_2016-12-23_13-51-34.png


Устанавливаем программу:

> git clone https://github.com/ex0dus-0x/pypayload

> cd pypayload

> ls –a

> chmod a+x pypayload.py

upload_2016-12-23_13-52-22.png


Запустим программу:

> su necro (программа не работает от root’a)

> sudo python pypayload.py


На данный момент в программе 16 доступных опций:

· windows/meterpreter/reverse_tcp

· windows/meterpreter/bind_tcp

· windows/meterpreter/reverse_http

· windows/meterpreter/reverse_https

·...

Jarvis. Python Voice Controlled Assistant

  • 7 509
  • 13
Всем привет! В этой статье я покажу, как установить голосового помощника Jarvis на Kali Linux OS.

Для начала устанавливаем, необходимы пакеты:
> apt-get install libasound-dev libjack-jackd2-dev portaudio19-dev python-pyaudio build-essential python-dev libespeak1
upload_2016-12-10_22-32-46.png


Затем скачиваем Jarvis с Github:

> git clone https://github.com/m4n3dw0lf/Jarvis


upload_2016-12-10_22-33-24.png


> cd Jarvis

> pip install -r requirements.txt

upload_2016-12-10_22-33-47.png


После установки всех необходимых зависимостей, запустим Jarvis:

> ./jarvis.py –h

Теперь можно начинать общение :)

Спасибо за внимание.

Python Script MITMAP

  • 5 310
  • 4
Всем привет! В этой стать я хочу вас ознакомить с очередным инструментом для пентестинга. В этот раз, это будет скрипт, написанный на Python под названием MITMAP. По словам разработчиков, его основное назначения – это создание поддельной точки доступа и сниффинг данных из эфира.

Требования:

· Kali Linux / Raspbian с привилегиями root.

· Wi-Fi адаптер и интернет адаптер или 2 Wi-fi карты.

Установим программу:
> git clone https://github.com/xdavidhu/mitmAP
> cd mitmAP
> ls –a
> chmod a+x mitmAP.py
upload_2016-12-10_22-9-34.png


Теперь запустим программу, но делать это необходимо не от root’a а от пользователя, состоящего в группе sudo.

> sudo python3 mitmAP.py


upload_2016-12-10_22-10-2.png


После установки зависимостей, задаем программе настройки в соответствии с выбранным сценарием атаки.

upload_2016-12-10_22-10-23.png


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

Ваши программы на Python

  • 30 024
  • 50
В этой теме вы можете размещать свои программы написанные на Python3

Представлю свой калькулятор написанный еще когда я только начал изучать Python3
калькулятор имеет 5 видов действий и ничего экстраординарного )
умножение , деление , сложение , вычитание , степень
скрипт сохранен в качестве раритета ) и не думаю что будет изменятся
Python:
print("Калькулятор")
print("1)Умножение 2)Деление 3)Сложение 4)Вычитание 5)Степень")
choose = int(input("Выберите действие "))
while choose == 1:
    print("Умножение")
    x = int(input("Введите первое число "))
    y = int(input("Введите второе число "))
    z = x * y
    print("Результат", z)
while choose == 2:
    print("Деление")
    x = int(input("Введите первое число "))
    y = int(input("Введите второе число "))
    z = x / y
    print("Результат", z)
while choose == 3:
    print("Сложение")
    x = int(input("Введите первое число "))
    y = int(input("Введите второе число "))
    z = x + y...

Статья Создание Динамических Массивов в C++: Полное Руководство для Разработчиков

  • 82 110
  • 0
Создание динамического массива в языке c#

На днях мне попалась задача, для решения которой требовалось создать динамический массив. Обычно я привык вместо массивов использовать обобщенные списки List<T>, которые по умолчанию являются динамическими. Но, по условию задачи требовалось работать именно с массивом, который не является таковым, поэтому возникла небольшая проблема, решение которой описано в этой статье.

В языке c# под словом массив подразумевается объект с заранее заданным неизменяемым размером. То есть, к примеру, если Вы создали массив, который содержит пять элементов, то увеличить данный размер динамически Вы уже не сможете, так как он является фиксированным. В этом можно легко убедиться, воспользовавшись свойством IsFixedSize.
C#:
int [] numbers = new int [5];
bool fix = numbers.IsFixedSize;  //true
С помощью данного свойства Вы можете определить, имеет ли созданный массив фиксированную длину...