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

Учим Python - [Ч8] - Отойдем от темы

  • 5 952
  • 0


Всем привет дорогие друзья! Решил я сегодня написать не про интереснейшие исключения, а про мельчайшие детали которые наверняка сделают ваш код лучше. Про исключения мы поговорим в конце данной части.


1. Цель урока
Сегодня вам не нужно решать сложные задачи. Обратим внимание на сам код. Мы постараемся сделать его лучше, читабильней! А после этой части перейдем к уже более интересным вещям)

2. Запомни

Теперь запомни одну вещь, а точнее правило. Ты должен не просто прочитать то, что я написал в этом цикле и то что еще напишу. Ты должен понимать код который видишь и пишешь. Никаких "Я выучил Python!" после прочтения данного цикла. Ты должен вникать. Не получается - задавай вопросы) За спрос никто не убьет. А теперь дам вам задание.

Как вы думаете, код ниже является хорошим или плохим?

Код:
def t():
    f=input()
    return f
def w():
    g=input()
    return g
f=t()
g=w()
s=f+g
print(s)

И если вы думаете что этот код плохой, то вы как никто прав. Но что же так сильно режет глаз в этом коде?

А что если...

Учим Python Ч7(Функции, комментарии)

  • 6 066
  • 1
Всем привет дороге друзья или просто читатели нашего форума!
Сегодня речь пойдет о функциях. В прошлой части мы немного ознакомились с функциями и изучили циклы.


[1] - Вспомним о функциях.
Как вы знаете из прошлого урока(если говорить проще)
Функции - это фрагмент кода который мы можем использовать когда понадобиться.

Также, конструкция у функций опять же проста
Код:
def имя_функции():
    действия
    ...

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

Дано:

Нам даны 2 числа - A, B. Мы должны написать функцию, которая посчитает их сумму, разность, произведение и частное.

Решение:

Все просто друзья как никогда)
Для начал вспомним о return.
Оно возвращяет...

Как использовать Shodan API с Python для автоматизации сканирования уязвимых устройств

  • 18 331
  • 11
Йоу йоу йоу ! Здравствуйте мои дорогие читатели, друзья и испытатели!

Открываю рубрику Python для тестирования на проникновения!

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

Сегодня я хочу поговорить о супер поисковике "Shodan"

Как использовать Shodan API с Python, для автоматизации сканирования уязвимых устройств

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

Любое устройство, подключенное к интернету, должно раскрывать какую-то информацию о себе. На некоторых устройствах можно сканировать порты...

Учим Python. Часть 6(Разбор циклов, функции)

  • 8 122
  • 6
Привет всем дорогие друзья или просто гости нашего форума! В этой части мы разберем циклы из прошлой части на примере д/з которое я вам задал. Также начнем изучение функций.

Разбор д/з.
Задание 1.

В этом задании вы должны были написать своего очень очень простого чат бота.
Давайте составим алгоритм его работы.
1. Создаем бесконечный цикл.
2. Получаем какое-либо сообщение от пользователя.
3. Ветвлением if-elif-else ищем нуж
ный ответ.
4. Выводим ответ пользователю.


Как мы знаем, цикл выполняется пока заданное условие возвращяет True. Из этого и составляем начало нашего кода
Код:
while True:
    ...

Далее получаем какое-либо сообщение от пользователя.
Код:
while True:
    msg = input("> ")

И самая огромная часть (3 и 4) if-elif-else.

Код:
while True:
    msg = input("> ")
    
    if msg == "":
        msg = input("> ")
    elif msg == "Привет":
        print("И тебе привет)")
    elif msg == "Codeby":
        print("Отличный...

Учим Python. Часть 5(Списки и Циклы)

  • 21 013
  • 13
Всем привет! Мы продолжаем наше изучение, и сегодня речь пойдет о циклах и списках. Также мы напишем своего мини чат-бота(если не успеем то в след. части)

Списки.
Списки - это еще один тип данных позволяющий хранить в себе 2 и более элементов.

В списках мы можем хранить как числа и строки, так и переменные. Списки записываются в квадратных скобках и элементы списка перечисляют через запятую.
Код:
>>> x = 2017
>>> sposok = ["C", "O", "D", "E", "B", "Y", x]
>>> print(spisok)
['C', 'O', 'D', 'E', 'B', 'Y', 2017]

Каждый элемент списка имеет свой интекс. Но
индекс элемента = порядковый номер элемента - 1

То есть, если я хочу вывести первый элемент списка и допустим 4-й то индекс первого это 0 а индекс четвертого это 3.
Код:
>>> list = [1, 2, 3,4]
>>> print(list[0])
1
>>> print(list[1])
2

...

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

Код:
list = [...

Статья Python для хакера: Начало пути к безопасным исследованиям

  • 92 816
  • 87

Почему Python — это не просто мода, а реальный инструмент​

В мире кибербезопасности Python — это не просто тренд, а мощный инструмент. Его синтаксис ясен, а возможности безграничны. От автоматизации задач до создания собственных инструментов — Python предоставляет всё необходимое для эффективной работы.

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


Почему Python
1. Всем итак понятно, что его синтаксис очень и очень понятен.
2. Python имеет много плюшек. Очень много отличных библиотек зачастую повышающих функционал.
3. Python он и в Windows Python.


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

Учим Python. Часть 4(Подробно про if)

  • 25 116
  • 47
И снова всех приветствую уже в 4-ой части! Сегодня мы подробно изучим инструкции if и убъемся о кучу практики)
Не будем тратить время и приступим.

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

И вспоминаем следующую конструкцию
Код:
if условие:
     действие 1
     действие 2
     ...

Что бы понять эту конструкцию лучше переведу ее на русский)
Код:
ЕСЛИ условие верно ТО
     Выполнить действие 1
     Выполнить еще действие

Куда понятней обьяснить не возможно. Рассмотрим на примере.

Код:
output1 = input("Завершить работу?(y/n): ")
if output1 == "y":
     exit("Пока!")
print("Программа еще работает")

Мы получаем от пользователя ответ(либо
y либо n) и сравниваем используя if.
Код:
ЕСЛИ ответ пользователя равен "y" ТО выполни
     закончить работу программы...

Учим Python. Часть 3(Логические выражения, инструкции IF)

  • 9 874
  • 12
Приветствую всех в 3-ей части) Сегодня речь пойдет о условных операторах и начнем изучать инструкции if.
Уловный тип это тоже тип данных как числа, строки.. Но у условного типа(boolean) есть своя особенность. Они принимают только два значения, это

  • True -- истина
  • False -- ложь
В python для проверки эквивалентности используют оператор "==".
То есть запись вида
Код:
>>> 5 == 3
False
В переводе на русский будет читаться примерно так
Кодом ты как бы говоришь -- Равно ли 5 3-м?
Python "думает" так -- Если 5 эквивалентно 3-м то вывести True, а если нет, то False.
В итоге мы можем и усложнять задачи. Также сравнивать условия с значениями условного типа(True и False)
Код:
>>> bool = (34/2) == (6*12)
>>> output = bool == True
>>> print(output)
False

WARN!!

Не путайте операторы присваивания(=) и...

Учим Python. Часть ?? (Списки)

  • 4 589
  • 1
Всем привет в новой части гайда для новичков о ЯП Python.
about-03.jpg

Предыдущие части:
Сегодня планирую вам рассказать о Списках.

Списки в Python-е упорядоченные, изменяемые коллекции объектов.Могут содержать как и числовые значения, так и строчные, так же списки могут содержать списки =) или же не содержать ничего.
Значения в списке могут повторяться ! тоесть список может выглядеть как [1,1,1,1,1,1,1,1,1,1,1]
1)Любой итерируемый обьект может быть обращен в список функцией list .
Пример:
Код:
>>>list('codeby')
['c','o','d','e','b','y']
2) Можно создать при помощи квадратных скобок:
Код:
>>>s=[]
>>>s=[0,'0',[0,1,1,1,'ale'],'ky']
3)Генератор списков
Код:
>>>c = [c * 3 for c in 'codeby']
['ccc','ooo','ddd','eee','bbb','yyy']
Кто не сталкивался с такой конструкцией-тут все просто
(переменная или выражение) (цикл)...

Алгоритмы сортировки и их реализация на Python

  • 26 139
  • 7
Сегодня расскажу про методы сортировки
В данной статье пойдет речь про:
  • Сортировка выбором
  • Сортировка вставками
  • Сортировка “Методом пузырька”
  • Сортировка Шелла
  • Быстрая сортировка
Python:
def choise_sort(data):
    for i, e in enumerate(data):
        min_el = min(range(i, len(data)), key=data.__getitem__)
        data[i], data[min_el] = data[min_el], e
    return data
Python:
def insertion_sort(data):
    for i in range(len(data)):
        j = i - 1
        key = data[i]
        while data[j] > key and j >= 0:
            data[j + 1] = data[j]
            j -= 1
            data[j + 1] = key
    return data
Python:
def buble_sort(my_list):
    for i in range(len(my_list)):
        for in_element in range(1, len(my_list)):
            if my_list[in_element] < my_list[in_element - 1]:
                my_list[in_element], my_list[in_element - 1] = my_list[in_element - 1], my_list[in_element]
    return my_list
...
🚀 Первый раз на Codeby?
Гайд для новичков: что делать в первые 15 минут, ключевые разделы, правила
Начать здесь →
💼 Вакансии и заказы в ИБ
Pentest, SOC, DevSecOps, bug bounty — работа и проекты от проверенных компаний
Карьера в ИБ →

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

Темы
52 303
Сообщения
346 498
Пользователи
160 587
Новый пользователь
Onaylidar