Давайте начнем с вопроса «зачем изучать программирование в качестве хакера». Многие люди в отрасли говорят, что это бонус, но это необходимо, если вы спросите меня как человека, который находится в стадии разработки. Если вы не умеете читать код, значит, вы не взламываете, а используете случайные инструменты и скрипты других, которые делают работу за вас, не понимая толком, что происходит, то есть скрипт, детка. Вам нужно понять, как работает целевая система или приложение для взлома. Поэтому вам нужно выучить язык программирования.
Рассмотрите следующий пример:

Вам нужно протестировать интернет-магазин. Брутфорс запрещен. Вы тестируете систему с помощью некоторых инструментов, которые вы нашли в Интернете, и некоторых ваших собственных. Скрипт, который вы нашли в Интернете, выполняет некоторые задачи, которые дают вам оболочку, но он также выполняет некоторые другие, которые на некоторое время отключают веб-сайт без вашего ведома. Простои приводят к потере продаж и даже клиентов, у вас большие проблемы, а значит, много денег для компании.

Вам нужно полностью понять инструмент, который вы будете использовать, а если нет, вручную протестировать его. систему, адаптируйте чей-то код или, может быть, даже напишите инструмент или скрипт в соответствии с вашими потребностями. Позже вам нужно будет сообщить компании шаги по воспроизведению найденной вами уязвимости и предоставить ее исправление. Лучшие хакеры также имеют опыт программирования. Имейте в виду: «Время имеет большое значение для взлома». Программирование может помочь вам автоматизировать многие задачи.

Какой язык программирования используют хакеры?

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

1. HTML

Один из первых и самых простых в изучении языков разметки (внешнего вида) в веб-разработке. Отправная точка в веб-хакерстве. Формы входа и другие методы ввода данных в Интернете используют HTML-формы для получения данных. Написание и интерпретация HTML позволяет легко выявлять и использовать слабые места в коде.
С помощью HTML вы можете делать следующее:
— Создать похожую веб-страницу для фишинга с помощью CSS

— Получить информацию из исходного кода на веб-странице

HTML-инъекция
2. Javascript

Я люблю цифры, поэтому начнем со статистики с Github’s Githut. Согласно первому кварталу 2021 года (на основе запросов на вытягивание), языком программирования номер один является javascript, как это было с 2014 года. Если вы посмотрите на цифры с самого начала, вы увидите, что javascript постепенно становится менее доминирующим со временем. Если вы занимаетесь тестированием веб-приложений, вам нужно этому научиться. Javascript используется в качестве клиентского языка программирования на 97,3% всех веб-сайтов. Это отличный язык, который вы можете освоить и комбинировать с HTML!
Вы можете использовать javascript следующими способами:
— Межсайтовый скриптинг (XSS) — это тип хака, который использует JavaScript

— Веб-разработка

— Разработка игр

— Мобильные приложения

— Создание веб-серверов и т. д.

3. PHP

Как мы знаем из вышеизложенного, PHP по-прежнему доминирует в качестве внутреннего языка программирования большинства веб-сайтов и веб-приложений. Если вы занимаетесь взломом веб-приложений, популярные системы управления контентом, такие как WordPress и Drupal, работают на базе PHP. Старые версии веб-сайтов PHP часто содержат устаревшие скрипты/библиотеки; манипулирование ими может дать вам легкий доступ к серверам. PHP используется для обработки HTML-форм, поэтому непроверенный ввод позволяет выполнять HTML-инъекции.
Вы можете взломать PHP из-за неправильной конфигурации сервера, уязвимого кода и нулевых дней:
— слабые права доступа к файлам

— включена индексация каталогов

— открытые порты серверных служб

— недостаточная безопасность хостинг-провайдера

— несанитизированный пользователь ввод: PHP SQLi, Stored, Reflected или XSS на основе DOM

— Подделка межсайтовых запросов (CSRF)

— Локальное или удаленное включение файлов (LFI/RFI)< br />
— Плагины/темы с ошибками

— Скомпрометированные пакеты/библиотеки PHP

4. SQL

Базы данных пишутся на разных языках программирования, наиболее популярным из которых является SQL. Знание SQL также поможет вам понять структуру базы данных и то, как она работает, что облегчит взлом.
Наиболее распространенным способом взлома SQL является внедрение SQL (SQLi). Данные баз данных можно манипулировать, извлекать (атаки UNION), удалять или даже добавлять к ним с помощью SQL-инъекции.
Отличной отправной точкой станет Академия PortSwigger; он бесплатный, хорошо написан и обучает четырем наиболее распространенным языкам баз данных. Они также предоставляют вам отличную шпаргалку, которая постоянно обновляется.

5. Python/Bash/Ruby/Perl

Python используется на 1,4% всех веб-сайтов, чей серверный язык программирования мы знаем, в отличие от PHP с 79,1%, когда речь идет о веб-сайтах.
Тем не менее, согласно моему исследованию, Python является вторым наиболее востребованным языком программирования для вакансий в области кибербезопасности. Доступные готовые модули для Python превосходны, так как вы можете загрузить подходящие модули для цели.
Вы можете использовать Python следующими способами:
Написание хакерских скриптов, например, сканер портов

Использование уязвимого кода в серверной части

Разработка эксплойтов

Создание вредоносных программ

Автоматизация задач
Ruby, Bash & Perl также могут помочь вам в автоматизации задач и/или редактирование доступных сценариев. Получение оболочки является популярным вариантом использования.

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

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

Какая лучшая платформа для взлома?

После тестирования множества платформ самой простой в запуске и самой захватывающей была платформа tryhackme. Они делают это правильно: каждая комната учит вас отдельной теме, которая является практической практикой, и дает вам чувство выполненного долга (дофамин) с каждым завершенным шагом, что вызывает привыкание. У меня есть некоторые рецензии на некоторые комнаты, если вы хотите проверить выезд. Надеюсь, вы получите ответ на вопрос Какой язык программирования используют хакеры? Если вы считаете эту статью полезной, не забудьте поделиться ею с окружающим вас сообществом.

Отказ от ответственности: эта статья предназначена исключительно для информационных целей. Мы стремимся распространять информацию о кибербезопасности и этичном взломе.