МЕНЮ

Phyton с нуля. Уроки программирования для начинающих безопасниковКликнув на этот ролик, ты, наверное, думаешь, что в нём тебя ждёт максимально душный туториал, рассчитанный на начинающих программеров на Питоне. Спешу, тебя разочаровать, мой друг. Видос, хоть и душный, но он скорее не для мечтающих писать полноценные проги, а для людей, стремящихся прыгнуть на голову выше типичных скрипт-кидди с 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, короче обязательно подписывайтесь на канал, если ещё не сделали этого ранее, чтобы не пропустить весь этот жир из полезнейших знаний. 

Ну а домашнее задание к сегодняшнему уроку вы сможете найти, перейдя по ссылочке в описании. На сим всё. Если есть вопросы – пишите их комментариях. С вами, как обычно, был Денчик. До новых встреч, мои, кайфные друже. Всем пока.

 

Не можешь понять, куда делись видео по взломам и хакингу? Они переехали в наш уютный паблик в телеге

telegram chanel

Хочешь больше контента? Подписывайся на YouTube-канал!

Курс «Диплом за неделю»

Пособие «Библия вардрайвинга»

Курс Cisco «CCNA: Introduction to Networks»

© 2022. IT-спец. Денис Курец.