Я начал изучать веб-разработку пару месяцев назад. В то время, когда я начинал, я начинал не потому, что хотел стать лучшим хакером. Я начал из давнего любопытства. Кодирование всегда очаровывало меня, но мои предыдущие попытки научиться программировать всегда терпели неудачу.

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

Предыдущий язык мне не подошел там, где Python и Java. Python был слишком теоретическим для меня, я считаю себя скорее визуальным учеником (поэтому я также предпочитаю видеоуроки письменным урокам). На самом деле я начинал Python несколько раз, но никогда не мог придерживаться его и в конце концов бросил его. снова.

Что касается Java, я не знаю, почему я вообще начал изучать Java. Я хотел создать приложение для Android, но это оказалось плохой идеей. Я ненавидел Яву. Так что результат был предсказуем — провал.

После моей последней попытки изучить Python, наверное, прошел год. Мой друг, который только что прошел курс обучения программированию, спросил меня, почему я не изучаю веб-разработку? Я не думал об этом до тех пор, но, учитывая, что я визуал, это имело смысл. Я мог бы написать код и получить немедленную обратную связь через веб-сайт. Это звучало заманчиво, поэтому я рискнул.

Стать лучшим хакером было частью моего решения

С тех пор, как я начал заниматься хакерством, большая часть моих знаний была связана с серверами и сетями (где я также считаю себя в лучшем случае новичком). Я никогда ничего не знал о веб-хакинге.

Поэтому, когда я работал над CTF или хакерским испытанием и доходил до той части, где требовались навыки веб-хакерства, я врезался в стену. Я хотел изменить это, поэтому я решил, что если я изучу веб-разработку, я, вероятно, лучше пойму эти вещи естественным образом.

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

Я также создал побочный проект в том же экземпляре под названием Ceodev.io, потому что Ceos3c очень помог мне, когда я начинал с Cybersecurity. Я, наверное, не был бы там, где я сейчас, если бы не создал Ceos3c и не начал обучать других людей.

С чего начать веб-разработку?

Я провел достаточное количество исследований и через некоторое время решил пойти по классическому пути Full-Stack Developer. Это позволило бы мне узнать все, от начала (конца) до конца (конца). После долгих поисков я решил пойти на курс Кольта Стила на Udemy: Учебный лагерь для веб-разработчиков. Хотя этот курс немного устарел, я все же считаю его лучшим курсом веб-разработки, который я когда-либо проходил.

У Кольта есть особый способ объяснения вещей, который почему-то находит во мне отклик. И после окончания этого курса я, безусловно, смог создавать приличные веб-сайты. Тем временем я прорабатывал другие курсы, но это тема другой статьи.

Итак, первое, что вам нужно сделать, это определиться со стеком, если вы хотите играть в полный стек. Изучив все основы, такие как HTML, CSS, JavaScript, Bootstrap, Node, Express и еще пару технологий, я теперь изучаю React. React — очень популярный JavaScript-фреймворк для создания пользовательских интерфейсов.

Не буду врать, я все еще много борюсь с JavaScript, но ежедневная практика делает вещи лучше, шаг за шагом.

Я настоятельно рекомендую потратить много времени на изучение основ JavaScript. Если вы все еще не полностью понимаете основы, такие как циклы, объекты, массивы, условные операторы и т. д., вам будет трудно, когда вы доберетесь до чего-то вроде React.

Так уж получилось, что Кольт Стил создал совершенно новый курс по JavaScript The New Modern JavaScript Bootcamp (2020). Этот курс несколько особенный, потому что в этом курсе Кольт Стил сотрудничает со Стивеном Грайдером. Кольт и Стивен считаются одними из лучших инструкторов по программированию на Udemy. Если вы исследуете курсы по веб-разработке, вы снова и снова будете натыкаться на эти два названия.

Я уже купил этот курс и заглянул в него, есть много очень полезного контента, который мне не терпится покопаться. Моя любимая часть этого курса заключается в том, что вы создадите приложение для аутентификации производственного уровня. Что-то, что вам понадобится снова и снова.

Я перечисляю курсы, которые я прошел, по порядку, мой любимый курс номер один.

Веб-разработка и JavaScript

  1. Учебный лагерь веб-разработчиков (Colt Steele) — немного устарел, но все же стоит того! Отличные объяснения.
  2. The Modern JavaScript Bootcamp (Эндрю Мид) — Потрясающий курс, очень удобный для начинающих, МНОГО упражнений!
  3. The New Modern JavaScript Bootcamp (Colt Steele + Stephen Grider) — еще не проходил, но материал класса A точно.

Реагировать

The Modern React Bootcamp (Colt Steele) — React, как только вы закончите с основами.

Итак, как это делает меня лучшим хакером?

Чем больше вы знаете, тем больше вы видите. Я начал веб-разработку около 4 месяцев назад и за это время практически не занимался хакерством. Я вернулся к CTF всего пару дней назад. Я сразу заметил разницу, когда посмотрел на исходный код веб-сайтов или фрагменты кода в целом. Я понял гораздо больше, чем раньше. Я получил гораздо больше подсказок, глядя на код, который может быть неправильно сконфигурирован.

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

Способность читать код также помогает вам стать лучшим хакером по очевидным причинам. Если вы изучаете один язык программирования, такой как JavaScript, гораздо проще выбрать другой язык, который может быть полезен для хакерства, такой как Python, Ruby или простые сценарии оболочки, чтобы написать свои собственные инструменты и упростить рабочий процесс.

Кроме того, умение читать код эксплойтов может быть чрезвычайно полезным. Если вы не понимаете, что делает эксплойт, и просто загружаете и запускаете какой-то код на своем компьютере, вы также подвергаете себя риску быть скомпрометированным.

Многие говорят: «Чтобы стать хакером, не обязательно уметь программировать! Суперхакер XYZ тоже не умеет программировать!». Раньше эта фраза меня утешала, хотя теперь я с ней в какой-то мере не согласен. Хотя я считаю, что вы можете стать более эффективным во взломе, просто используя существующие инструменты, я гарантирую вам, что каждый, кто считается профессионалом, знает хотя бы немного кода и написал свои собственные инструменты.

Кодирование — это весело!

И да, это есть. Программирование — это весело, когда вы понимаете основы. Существует бесчисленное множество задач по программированию, которые наверняка заставят ваши серые клетки мозга работать. Как только вы начинаете решать проблемы самостоятельно, начинается самое интересное. У меня возникает похожее ощущение, когда я решаю задачи CTF и делаю еще один шаг, чтобы скомпрометировать машину или получить флаг oot.

Кроме того, если вам нравится заниматься творчеством, создание веб-сайтов может стать хорошим контрастом с вводом команд в терминале. Работа с CSS и вообще работа с UX-дизайном может быть очень увлекательной, по крайней мере, для меня. Мне нравится проектировать вещи и создавать что-то с нуля. Я очень плохо рисую, поэтому создание чего-то красивого на экране с помощью кода меня вполне удовлетворяет.

Вывод

Это должно пролить свет на то, почему я считаю, что изучение веб-разработки сделает вас лучшим хакером. Я считаю, что каждый должен хотя бы раз в жизни попробовать научиться программировать. Да, это сложно, и это будет разочаровывать, но преодоление такой огромной проблемы может помочь вам понять, на что вы способны, если приложите к этому свою силу воли. Если вы хотите начать работу с кибербезопасностью и не знаете, с чего начать, мое полное руководство по началу работы с кибербезопасностью может стать хорошей отправной точкой!

Если вы можете научиться кодировать, вы, вероятно, сможете изучить почти все, что задумали.

Первоначально опубликовано на https://www.ceos3c.com 17 декабря 2019 г.