Чтобы сделать форму отправки для этого файла, нужно знать HTML. Отправив файл, который, к примеру, вытаскивает все пароли или даёт доступ к базе данных, вы вольны делать с веб-сервисом всё, что вам угодно.
Итак, знание HTML нужно для того, чтобы:
Искать уязвимости веб-ресурсов.
Использовать эти уязвимости.
Изучить несколько языков программирования.
Как мы все знаем, чтобы нарушать правила, нужно для начала знать их. Этот же принцип работает для программирования: чтобы взломать чей-то код, вы должны знать, как работают языки программирования, и самому уметь программировать. Некоторые из наиболее рекомендуемых ЯП для изучения:
Python : это, пожалуй, самый лучший язык для веб-разработки. На нём написаны два крупных фреймворка, на которых создано огромное кол-во веб-приложений, это Flask и Django. Язык хорошо построен и задокументирован. Самое главное, что его очень просто выучить. К слову, много разработчиков используют Python для создания простой и полной автоматизации.
C++ : язык, использующийся в промышленном программировании. Его преподают в школах, вузах. На нём пишутся сервера. Рекомендую начать изучение языков с него, т. к. он содержит в себе все принципы ООП. Научившись работать с ним, вы с лёгкостью освоите другие языки.
JavaScript, JQuery : в основном, практически все сайты используют JS и JQuery. Необходимо знать, что на этих сайтах зависит от JS, например, формы для ввода паролей. Ведь некоторые сайты не дают выделить и скопировать некоторую информацию, не дают скачать файл или просмотреть содержимое, однако, чтобы сделать это, достаточно отключить JS в браузере. Ну а чтобы отключить JavaScript, нужно знать: а) в каких ситуациях работа (защита) сайта зависит от него; б) как JavaScript подключается и какими способами можно блокировать работу скриптов.
SQL : самое интересное. Все пароли, личные данные, хранятся в базах данных, написанных на SQL. Самая распространённая система управления БД — MySQL. Чтобы понять, как использовать MySQL-инъекцию, нужно знать, что такое MySQL-инъекция. Чтобы уловить суть MySQL-инъекции, нужно знать, что такое MySQL-запросы, каков синтаксис этих запросов, каково устройство базы данных, как хранятся данные, что такое таблицы и т. д.
Изучить устройства сетей
Вы должны чётко понимать устройства сетей и принципы их работы, если хотите стать хакером. Важно понять, как создаются сети, понять различие между протоколами TCP/IP и UDP и проч. Узнайте, какой сетью пользуетесь вы. Научитесь настраивать её. Выясняйте возможные векторы атаки.
Имея глубокие знания о различных сетях, вы сможете использовать их уязвимости. Также вам необходимо понять устройство и принцип работы веб-сервера и веб-сайта.
Изучить криптографию
Это неотъемлемая часть обучения. Необходимо понимать алгоритмы различных шифров, например, SHA-512, алгоритм OpenSSL и проч. Также нужно разобраться с хешированием. Криптография используется везде: пароли, банковские карты, криптовалюты, торговые площадки и проч.
Комментарии 4
- Нет. А что, должна индезеть?