Ответ 1
Взлом уникален каждый раз. Использование некоторых типов уязвимости не требует какого-либо конкретного языка вообще. Иногда вы взламываете все, что угодно, на любом языке или форме, которые вы найдете. Иногда необходимо автоматизировать часть процесса, например взлом пароля, для которого вы можете использовать любой язык, который вам нравится.
Взлом коммерческой игры обычно включает в себя изучение своего дизассемблированного машинного кода, выяснение, какая часть делает CD или лицензионный чек, и хирургическое замещение нескольких байты кода, так что проверка пропускается.
Взлом веб-сайта обычно связан с обнаружением какой-то небольшой неуклюжий со стороны его разработчиков, что позволяет просматривать конфиденциальные данные или разрешать выполнение пользовательского кода, если он не дезинформирует данные должным образом. SQL-инъекция является общим недостатком, когда значения, отправленные в базу данных, не защищены должным образом в кавычках ( "..." ), и поэтому вы можете давать значения которые выходят из кавычек, чтобы выполнять свои собственные команды. Межсайтовый скриптинг - это тип взлома, который использует JavaScript: если веб-сайт слепо принимает параметры из URL-адреса или представленных данных формы и отображает их на страницы без безопасного кодирования их в виде текста (с тревогой распространены), вы можете предоставить тег <script> для выполнения на этой странице. Причинение кому-либо посещения такого URL-адреса позволяет выполнять скриптовые действия от их имени. Ввод кода также возможен на стороне сервера с помощью PHP (или Perl или аналогичного), если неактивный код дает доступ к eval-like или, если неверная конфигурация сервера позволяет пользователю загружать файлы, которые будут интерпретироваться сервером как скрипты.
Взлом операционной системы или серверной программы удаленно может использовать ошибки при обработке сетевых команд. Неправильное обращение с некорректными сетевыми командами может привести к ошибкам проверки подлинности пользователя или даже к прямому выполнению кода, представленного в сетевом пакете, например, при переполнении буфера .
Ошибки в браузерах, плагинах и документах похожи друг на друга. То, что должно быть безопасным типом файла, может быть создано с нестандартными или сломанными значениями. Если программист забыл безопасно обрабатывать эти случаи, их часто можно использовать, чтобы избежать нормальных пределов типа файла.
Вирусы также могут быть перенесены на компьютер через физический обмен USB-накопителем или компакт-диску или убедить кого-то установить программное обеспечение, загруженное вирусами. Такие вирусы часто записываются заново для каждой цели (чтобы избежать антивирусного программного обеспечения), но есть некоторые распространенные.
Слабое или плохо реализованное шифрование может допускать грубое принудительное декодирование зашифрованных данных или паролей. Необязательное шифрование позволяет напрямую прослушивать данные. Отсутствие шифрования также позволяет передавать неавторизованные команды пользователю или серверу.
Очень очевидные пароли или неизменные пароли по умолчанию могут позволить простым догадкам попасть в систему. Некоторые люди используют один и тот же пароль везде. Это дает сайтам возможность просто войти в учетную запись электронной почты пользователя, а затем взять под контроль все, что с ней связано. Это также означает, что утечка паролей на одном небезопасном веб-сайте может использоваться для доступа к учетным записям на других сайтах.
И иногда "хакинг" - это социальная инженерия. Например, представьте, что вы звоните в младший сотрудник и притворяетесь кем-то ответственным, чтобы обмануть их в раскрытии внутренней информации или reset пароля. Фишинг-письма - это распространенная полуавтоматическая форма социальной инженерии.
Включение в систему редко является одним из этих шагов. Это часто долгий процесс анализа системы, выявление мелких недостатков и использование их, чтобы увидеть, открыт ли полезный вектор атаки, а затем разветкиться от него, чтобы получить больший доступ.
Я никогда не делал этого, конечно.