Кликнув на этот ролик, ты, наверное, думаешь, что в нём тебя ждёт максимально душный туториал, рассчитанный на начинающих программеров на Питоне. Спешу, тебя разочаровать, мой друг. Видос, хоть и душный, но он скорее не для мечтающих писать полноценные проги, а для людей, стремящихся прыгнуть на голову выше типичных скрипт-кидди с codeby.net и хаЦкерских пабликов в телеграме. Ведь именно базовое знание основ Phyton позволит вам постигнуть науку создания скриптов для поиска уязвимостей в программных продуктах и проложить себе дорогу в увлекательный мир пентестинга. Zip File, мамкины хаЦкеры. С вами Денчик и нынче мы будем разбираться в том, зачем же современным специалистам по информационной безопасности нужно иметь представление о программировании на языке Phyton.
На кой чёрт нужны все эти условные операторы, интерпретаторы, коллекции, циклы и прочие задротские вещи. Если вам интересна данная тема, тогда устраивайтесь по удобней, наливайте себе напиток по крепче. И будем уже начинать душнить по полной программе.
Начнем с применения Python. Наверняка вы в курсе, что Python входит в число самых популярных языков программирования в мире. Его часто выбирают первым для обучения из-за простоты синтаксиса и широты применения.
Python используется в Дата сайнс, встроенных системах, создании десктопных программ и мобильной разработке. Но, конечно, одно из главных его применений — это веб.
За счет своей гибкости и простоты, это идеальный язык для работы с бэкендом веб-приложений: от сырёхоньких прототипов до масштабируемых проектов – порталов, веб-сервисов и целых интернет-магазинов.
Если вы хотите научиться не просто писать простенькие скрипты, а постичь все премудрости веб-программирования на Питоне, рекомендую профессию “Python-разработчик” на Хéкслете.
С самого начала вы будете учиться правильным инженерным практикам. Изучите Python в связке с Django, HTML и CSS. Разберётесь с алгоритмами и структурами данных, освоите сопутствующие инструменты. а также принцип работы с архитектурой и базами данных.
Здесь вас ждет очень много практики: несколько сотен заданий в онлайн-тренажере, проекты для портфолио на GitHub, собственные Open Source проекты Хекслета, где можно получить ценный продакшен-опыт, а также тестовые задания от партнёров, чтобы подготовиться к собеседованиям после обучения.
Работодатели, знакомые с уровнем подготовки здешних выпускников, указывают курсы Хéкслета, как преимущество при найме. А самые успешные из студентов получают козырный оффер еще во время учёбы.
В общем, если вы всё ещё думаете, с чего стартовать в разработке и где учиться, welcome на Хекслет. Ссылка на профессию “Python-разработчик” в описании.
Кстати, начать обучение можно прямо сейчас! После регистрации на платформе вам откроются 7 бесплатных курсов профессии - изучайте, тестируйте, пробуйте писать код. Если понравится, оплачивайте обучение в группе.
Переходите, записывайтесь и когда отучитесь, обязательно напишите в комментах под этим видео, понравился вам процесс или нет.
Зачем специалистам по безопасности программирование на Phyton?
Ну а мы возвращаемся к основной теме нашего выпуска. Как я уже говорил ранее, главное преимущество языка Phyton перед другими, заключается в простоте его освоения и низком пороге вхождения в движ скриптописцев.
Даже с минимальными знаниями вы запросто можете прийти в какой-нибудь недо-стартап или крупную фирму на позицию джуна и начать накидываться им скрипты для поиска уязвимостей в их софте.
Для этого вам, как специалисту ИБ главное понимать, как уязвимости в принципе появляются и проникают в различный софт, как те и иные устройства работают с операционными системами, и как можно автоматизировать ежедневную рутину в виде обхождения адресов и работы с массивами данных.
Не секрет, что большинство компаний окружающих нас в различных отраслях экономики – это уже практически полноценные IT-истории. inDriver, Тинькофф, Дом-клик, Додо-пицца. Под капотом у всех этих гигантов сплошная ITха.
И ваша задача, как безопасников заключается в защите этих систем от несанкционированного доступа со стороны конкурентов. Нужно всегда стараться сделать продукт максимально безопасным для конечного потребителя.
А это возможно только случае полного погружения в процесс разработки. Также вам придётся плотно взаимодействовать с DevOPS-сотрудниками для решения проблем с DDoS-атаками и массовым парсингом.
Короче, куда не плюнь, знание Питона будет не лишним. Ибо, имея даже базовые представления вы сможете и сети различных типов анализировать и проводить мат. анализ массивов данных.
А если ещё поглубже копнёте – сможете автоматизировать работу с файлами и документами в операционной системе и рано или поздно уйти с головою в Web-разработку.
Интерпретатор Phyton
Начнём с такого понятия, как интерпретатор. По умолчанию в современных версиях операционных систем Linux, Windows и MacOS, Phyton уже установлен по умолчанию.
Под установкой Питона подразумевается, что у вас на компьютере установлена программа для запуска файлов с расширением *py. Эта самая программа, позволяющая запускать Питонячные файлы с кодом, и зовётся интерпретатором.
После этого интерпретатор уже выдаёт вам какой-то результат на экране. По стандарту, в так называемый джентельменский набор» помимо интерпретатора входит набор дефолтных библиотек.
С помощью этих библиотек, вы помимо функций заложенных в Phyton по умолчанию, можете подключать дополнительные модули, тем самым расширяя возможности разработки.
Переменные Phyton
Синтаксис в Phyton на самом деле очень простой. Для того, чтобы объявить какую-то переменную достаточно задать её имя и через равно прописать определённое значение данных.
Тем самым эта переменная будет ссылаться на адрес в памяти, где прописано наше значение данных. Данные бывают разных типов. Тот тип, который вы в данный момент видите на экране называется целочисленным. Integer.
Если же мы разделим число точкой, то получим float. Число с плавающей точкой. Ещё есть логический тип, bool, принимающий значения True и False. Т.е. правда и ложь.
Также есть строковый тип данных представляющий собой некую последовательность символов из которых формируется строка. С этим типом вам предстоит работать наиболее часто.
Помимо этого, есть ещё тип None. Т.е. ничто. Данный объект обрабатывается в памяти, но он пустой.
Это что касается самых примитивных типов данных в Питоне. Также, есть ещё типы, которые являются так называемыми коллекциями. Их ещё называют контейнерные типы.
Коллекции Phyton
В коллекции входят, списки, множества, кортежи и словари. Тут уже появляются так называемые операторы в виде скобок. Операторы нужны непосредственно для доступа к элементам последовательности.
Список – это изменяемая упорядоченная коллекция объектов произвольного типа данных. Т.е. сюда можно внести не только числа, но и строки. Множества с свою очередь – это неупорядоченная коллекция.
Поэтому, в результате вывода, значения могут выводиться не по порядку. Множество содержит уникальные и неизменяемые элементы. Т.е. у вас не может быть, к примеру множество списков.
Различные типы данных — это, пожалуй, одна из самых важных историй с которой вам следует разобраться, чтобы научиться писать качественные скрипты на Питоне.
Ибо в процессе написания вы будете приводить данные заданные самостоятельно или получаемые из внешнего файла в какие-то питоноваримые структуры.
Проверить, что все эти типы данных являются действительно таковыми можно, использую встроенную функцию Print. Пожалуй, с неё начинает каждый, кто изучает данный язык программирования.
Так, для того чтобы вывести значения всех заданных переменных на экран понадобится перечислить их через запятую. В дальнейшем, с этими объектами вы сможете производить различные логические и арифметические операции.
Операции Phyton
К базовым типам операций в Phyton относятся арифметические: сложение, вычитание, умножение, деление. На делении стоит остановиться подробнее. Оно бывает целочисленным. Как понятно из называния, тут делятся целые числа.
Т.е. оно позволяет узнать, сколько полных раз делитель находится в делимом. Математика 5 класс. 12345 — это делимое, 10 — это делитель. Всё понятно и просто.
Процентом обозначается остаток деления. В нашем случае, если посмотрим на вывод это будет пятёрка. А классическое деление выведет на экран уже знакомое нам число с плавающей точкой.
Помимо арифметических существуют также логические операции or and xor not. Присваивание – когда мы в переменную присваиваем какое-то значение. И is in – проверка элемента на вхождение в какую-то последовательность.
Проверка осуществляется по ключу и может производиться в строке, кортеже, множестве или словаре. Для тех, кто сталкивается с этой историей первый раз – звучит трудно, но на деле, когда разберётесь – всё встанет на своё место.
В случае, если где-то закрались сомнения – никогда не стесняйтесь гуглить. Например, можно задать поисковику запрос «методы словаря Phyton» и прочитать об этом во всех подробностях.
Одним роликом на все вопросы и нюансы по языку, сами понимаете, не ответишь. А нам ещё для понимания основ нужно с условным оператором и циклами разобраться.
Условный оператор и циклы Phyton
Условие — это команда, позволяющая передать управление в другую часть скрипта при выполнении определенного условия. Самый простой пример условного оператора можно представить в виде банальной инструкции if, else.
Сначала задаётся вопрос, затем внутри него обозначается if с определённым условием и ниже результат else, выдаваемый в случае совпадения ответа с нашим условием.
Вопросов и условий if в конструкции можно задать сколько угодно, главное корректно обозначить проверку сравнения данных.
Равна она тому или иному значению или не равна, больше ли, меньше и т.д. Если зевали на математике в шкиле – не стремаемся, гуглим таблицу инстиности и освежаем или приобретаем нужные знания.
Теперь что касается циклов. Цикл — это команда, позволяющая выполнить заданное количество действий.
Циклы могут быть For и While. Первый в основном используется, когда известно точное количество повторений. Его ещё называют циклом со счётчиком.
А второй предназначен для многократного выполнения одних и тех же инструкций до тех пор, пока истинно некоторое условие. Соответственно While используется, когда количество повторений заранее не известно.
Более подробно о циклах мы с вами поговорим в следующем ролике из серии «Информационная безопасность с нуля до джуна». В нём мы уже перейдём непосредственно к практике с сетевыми вещами.
Разберём систему управления пакетов PIP, модуль nmap, поработаем с беспроводными сетями посредством pyWifi и scapy, короче обязательно подписывайтесь на канал, если ещё не сделали этого ранее, чтобы не пропустить весь этот жир из полезнейших знаний.
Ну а домашнее задание к сегодняшнему уроку вы сможете найти, перейдя по ссылочке в описании. На сим всё. Если есть вопросы – пишите их комментариях. С вами, как обычно, был Денчик. До новых встреч, мои, кайфные друже. Всем пока.