Как называется исполняемый файл толстого клиента
Обновлено: 21.11.2024
В этой статье мы узнаем о приложениях толстого клиента, их уязвимостях и способах проведения оценки безопасности этих приложений.
Что такое толстые клиентские приложения?
Толстый клиент, также известный как толстый клиент, – это клиент в архитектуре клиент-сервер или в сети, который обычно предоставляет широкие функциональные возможности независимо от сервера. В приложениях такого типа основная обработка выполняется на стороне клиента и включает только апериодическое подключение к серверу.
Приложения для толстого клиента и приложения для тонкого клиента
Толстые клиенты — это тяжелые приложения, которые обычно требуют установки приложения на стороне клиента (пользовательского компьютера). Эти приложения занимают память и полностью работают на ресурсах компьютера. Это означает, что безопасность приложения зависит от локального компьютера.
Толстые клиенты часто плохо подходят для общедоступных сред. Чтобы поддерживать толстый клиент, ИТ-специалистам необходимо поддерживать все системы для развертывания и обновления программного обеспечения, а не просто поддерживать приложения на сервере. Кроме того, для толстых клиентов часто требуются определенные приложения, что опять же требует дополнительной работы и ограничений для развертывания.
Типичными примерами толстых клиентов являются G-Talk, Yahoo Messenger, Microsoft Outlook, порталы онлайн-торговли и т. д.
Приложения для тонких клиентов представляют собой веб-приложения, к которым можно получить доступ в Интернете с помощью браузера. Эти типы приложений не требуют установки программного обеспечения на стороне клиента. Полная обработка осуществляется на сервере. Кроме того, они легкие и не занимают места на стороне клиента (пользовательского компьютера). Кроме того, к приложениям тонкого клиента можно получить доступ с любого компьютера или мобильного устройства, имеющего доступ в Интернет, что делает их очень портативными. С учетом сказанного скорость и надежность приложений тонкого клиента зависят от скорости подключения пользователя к Интернету и пропускной способности сервера.
Приложения толстого клиента бывают двух типов:
Двухуровневое толстое клиентское приложение
Трехуровневое толстое клиентское приложение
Оценка безопасности толстых клиентских приложений
Оценка безопасности приложений для тонких клиентов сравнительно проще, чем для приложений с толстыми клиентами, поскольку это веб-приложения, которые можно легко перехватить, а основная обработка выполняется на стороне сервера.
Поскольку приложения толстого клиента включают как локальную, так и серверную обработку, для оценки безопасности требуется другой подход.
В приведенной ниже таблице показаны уязвимости, с которыми сталкиваются веб-приложения и приложения с толстыми клиентами:
Раздел 404 Закона Сарбейнса-Оксли (SOX) требует, чтобы все публичные компании установили внутренний контроль и процедуры.
Закон о защите конфиденциальности детей в Интернете от 1998 года (COPPA) – это федеральный закон, который налагает особые требования на операторов доменов .
План North American Electric Reliability Corporation по защите критически важной инфраструктуры (NERC CIP) представляет собой набор стандартов.
Стандарт безопасности данных платежных приложений (PA-DSS) – это набор требований, призванных помочь поставщикам программного обеспечения в разработке безопасных .
Взаимная аутентификация, также называемая двусторонней аутентификацией, представляет собой процесс или технологию, в которой оба объекта обмениваются данными .
Экранированная подсеть или брандмауэр с тройным подключением относится к сетевой архитектуре, в которой один брандмауэр используется с тремя сетями .
Медицинская транскрипция (МТ) – это ручная обработка голосовых сообщений, продиктованных врачами и другими медицинскими работниками.
Электронное отделение интенсивной терапии (eICU) — это форма или модель телемедицины, в которой используются самые современные технологии.
Защищенная медицинская информация (PHI), также называемая личной медицинской информацией, представляет собой демографическую информацию, медицинскую .
Снижение рисков – это стратегия подготовки к угрозам, с которыми сталкивается бизнес, и уменьшения их последствий.
Отказоустойчивая технология — это способность компьютерной системы, электронной системы или сети обеспечивать бесперебойное обслуживание.
Синхронная репликация — это процесс копирования данных по сети хранения, локальной или глобальной сети, поэтому .
Коэффициент усиления записи (WAF) – это числовое значение, представляющее объем данных, передаваемых контроллером твердотельного накопителя (SSD) .
API облачного хранилища — это интерфейс прикладного программирования, который соединяет локальное приложение с облачным хранилищем.
Интерфейс управления облачными данными (CDMI) – это международный стандарт, определяющий функциональный интерфейс, используемый приложениями.
Согласно проекту проверки безопасности двоичных исполняемых файлов Windows OWASP, тестирование на проникновение толстого клиента включает серию тестов для проведения успешного тестирования на проникновение.
Сбор информации
На этом этапе необходимо определить языки и платформы, используемые приложением, и нарисовать полную архитектуру приложения. Это необходимо для понимания полной функциональности толстого клиента.
Мы должны понимать привилегии и роли каждого типа пользователей в приложении. Например, администраторы и пользователи обычно имеют разные функциональные возможности и уровень доступа.
Название инструмента | Описание |
---|---|
Detect It Easy (DIE) | Программа для определения типов файлов для Windows , Linux и macOS |
Строки | Он сканирует любые файлы, которые вы ему передаете, на наличие строк UNICODE или ASCII с длиной по умолчанию из трех или более символов UNICODE или ASCII. . |
PEid | Этот инструмент обнаруживает наиболее распространенные упаковщики, крипторы и компиляторы для PE-файлов. |
CFF Explorer | Этот инструмент был разработан, чтобы максимально упростить редактирование PE, не упуская из виду внутреннюю структуру переносимого исполняемого файла. |
Статические инструменты, используемые для сбора информации
Затем мы можем использовать различные декомпиляторы и деобфускаторы, чтобы получить исходный код для дальнейшего анализа.
На следующем этапе мы определим сетевое взаимодействие между клиентом приложения и сервером
Мы можем использовать такие инструменты, как Wireshark, tcpdump или любой другой инструмент анализа сетевых пакетов по вашему выбору, чтобы узнать протоколы и проанализировать сетевой трафик данного приложения.
Wireshark и другие инструменты анализа сети помогут нам определить, как приложение взаимодействует с сервером и отправляются ли конфиденциальные данные, такие как учетные данные или ключи API, на сервер в виде открытого текста.
Используя инструменты анализа пакетов, мы должны посмотреть, как данные передаются на сервер. Конфиденциальные данные должны передаваться по сети в зашифрованном виде, мы должны искать такие данные, как:
Сниффинг пакетов с помощью Wireshark
До сих пор мы использовали только сетевые снифферы, теперь нам нужно перехватывать толстый клиентский трафик с помощью сетевых прокси, таких как Burp Suite и Echo Mirage.
Существует два типа приложений толстого клиента:
- Не поддерживающий прокси-сервер — толстый клиент, который не имеет параметров настройки в самом приложении и требует другого подхода к тестированию. Для этих приложений нам нужно использовать такие инструменты, как пакет Burp, для подключения к прокси-приемнику и последующего перехвата трафика.
- Поддержка прокси — толстый клиент с параметрами настроек в самом приложении. В этих приложениях можно перехватить трафик с помощью любого прокси-инструмента.
На рисунке ниже показано, как использовать пакет Burp для перехвата трафика в приложениях, не поддерживающих прокси-сервер. В Burp Suite перейдите в «Прокси» -> «Параметры» -> «Добавить» -> нажмите «Обработка запросов» -> введите IP-адрес и порт хоста. номер и включить поддержку невидимого проксирования.
С помощью этих прокси-инструментов мы можем перехватывать клиентский трафик и изменять запросы перед отправкой на серверы. Такие инструменты, как Echo Mirage, помогут внедрить в клиентское приложение, а затем модифицировать SQL-запросы.
В следующей части мы рассмотрим атаки на стороне клиента и атаки на стороне сервера.
Введение во взлом толстых клиентов – это серия сообщений в блогах, в которых описаны многие инструменты и методологии, используемые при оценке безопасности толстых клиентов. В связи с этими сообщениями NetSPI выпустила два уязвимых толстых клиента: BetaFast, ведущую службу проката фильмов Betamax, и Beta Bank, ведущее финансовое приложение для элиты. Многие примеры в этой серии будут взяты непосредственно из этих приложений, которые можно загрузить из репозитория BetaFast GitHub. Краткий обзор описан в предыдущем сообщении в блоге.
В рассрочку:
Элементы управления сборкой
Библиотеки и исполняемые файлы могут быть скомпилированы с некоторыми дополнительными мерами безопасности для защиты от использования кода:
-
– Местоположение приложения в памяти рандомизируется во время загрузки, предотвращая такие атаки, как return-to-libc, которые приводят к выполнению кода путем перезаписи определенных адресов. – Список безопасных обработчиков исключений хранится в двоичном файле, что не позволяет злоумышленнику заставить приложение выполнять код во время вызова вредоносного исключения. – Области памяти могут быть помечены как неисполняемые, что не позволит злоумышленнику сохранить код для атаки переполнения буфера в этих областях. /Strong Naming — сборки можно защитить с помощью подписи. Если оставить их без подписи, злоумышленник может изменить их и заменить вредоносным содержимым. – Расширение ASLR и DEP, которое ограничивает адреса, с которых может выполняться код. – 64-битное приложение использует ASLR.
К счастью, Эрик Грубер из NetSPI выпустил инструмент под названием PESecurity для проверки того, был ли двоичный файл скомпилирован с указанными выше средствами предотвращения выполнения кода. Во многих тестируемых нами толстых клиентах каталоги установки заполнены сборками до краев, а PESecurity особенно полезен для проверки большого количества файлов.
В приведенном ниже примере для проверки BetaBank.exe используется PESecurity. Он скомпилирован с ASLR и DEP. SafeSEH применим только для 32-битных сборок. Но исполняемый файл не подписан.
Декомпиляция
Раскрытие информации
Управляемый код
В следующем примере будет использоваться вышеупомянутый BetaBank.exe, найденный в нашем BetaFast GitHub. Он также будет использовать dnSpy в качестве предпочтительного декомпилятора.
Если вас интересует адрес 10.2.2.55, это виртуальная машина, на которой я запускаю Docker.
Но для раскрытия информации в исходном коде сначала декомпилируйте любой из двоичных файлов приложения. BetaBank.exe загружается в dnSpy.
dnSpy имеет надежную функцию поиска. Я ввожу такие термины, как «ключ», «IV», «соединение», «пароль», «шифрование» и «дешифрование», чтобы посмотреть, как приложение обрабатывает шифрование, аутентификацию и соединения с базой данных. Приложение также имеет фильтр в функции поиска. Ниже я ограничил поиск только выбранными файлами, но поиск также можно ограничить конкретными библиотеками и типами объектов. Похоже, в BetaBank.ViewModel.RegisterViewModel и BetaBank.ViewModel.LoginViewModel есть жестко запрограммированный ключ.
По запросу «пароль» отображается жестко зашифрованный пароль. Судя по всему, разработчик(ы) внедрили проверку авторизации на стороне клиента. Имя пользователя «The_Chairman» напрямую сравнивается со значением в текстовом поле «Имя пользователя», а зашифрованный пароль напрямую сравнивается с зашифрованным значением в текстовом поле «Пароль».
Класс BetaEncryption можно декомпилировать, демонстрируя особую логику шифрования.
Неуправляемый код
Как я уже упоминал в начале этого раздела, при тестировании неуправляемого кода невозможно так внимательно взглянуть на исходный код. Вместо этого мы снова обращаемся за помощью к техническому директору Microsoft Azure. Strings — это инструмент в наборе Sysinternals, который выводит список строк, сохраненных в исполняемом файле. При анализе дампов памяти или неуправляемых двоичных кодов я извлекаю список всех строк (большинство из них, вероятно, будут выглядеть как чепуха), а затем ищу ключевые термины, подобные приведенным выше, в выбранном текстовом редакторе.
Изменение сборок
С помощью dnSpy можно изменить класс и перекомпилировать двоичный файл. Ниже я перевернул функцию Encrypt и использую MessageBox, чтобы показать расшифрованный adminPassword, когда пользователь успешно проходит аутентификацию в приложении.
Сохранение модуля как нового исполняемого файла . . .
Наконец, когда я идентифицируюсь как пользователь, MessageBox печатает пароль The_Chairman.
Окно MessageBox очень удобно добавлять в приложение при сборе информации. Это похоже на то, когда я использую оператор печати вместо отладчика.
Разработчик Beta Bank может решить исправить эту уязвимость, удалив жестко запрограммированный ключ шифрования. Тем не менее, пользовательское шифрование Beta Bank все еще может быть переработано, чтобы получить ключ для дешифрования. Ниже я добавил функцию, которая выполняет XOR над паролем в виде открытого текста и зашифрованным паролем, тем самым раскрывая ключ шифрования. В функции расшифровки я извлекаю ключ, передавая известный открытый текстовый пароль (мой собственный) и его зашифрованное значение.
Но на самом деле это было слишком много работы. Если нам не понадобится пароль The_Chairman для дальнейшего использования, имя пользователя и зашифрованный пароль можно просто поместить непосредственно в функцию входа. Булева логика также может быть изменена таким образом, чтобы любая проверенная на стороне сервера функция, например IsAdmin(), всегда возвращала значение true.
Запутывание
Исходный код не всегда так разборчив. Иногда код запутывается. И хотя неясность не обеспечивает безопасности, она, безусловно, немного усложняет работу консультанта по безопасности.
Ниже представлен класс BetaEncryption, созданный ранее после того, как я применил пользовательскую обфускацию, нажимая на клавиатуре, чтобы переименовать класс, методы и параметры.
Все функции сохранены. Некоторые методы запутывания могут пойти еще дальше, чтобы сделать код неразборчивым. Но это усложняет поиск и обратный инжиниринг исходного кода. Обозреватель сборок dnSpy будет полон бессмысленных имен классов, а поиск конкретных терминов, таких как «Зашифровать», не даст никаких результатов.
Существуют различные инструменты для деобфускации, такие как de4dot. Ниже приведен пример того, как деобфускатор может интерпретировать мою запутанную клавиатуру. Классы, по крайней мере, имеют некоторое ощущение разборчивости, а методы называются некоторыми вариантами method, а не dsfggd.
Обфускация не защищает код. Но это делает просмотр исходного кода более головной болью, чем чтение чужой большой кодовой базы.
В этой части мы собираемся систематически проводить пентестирование приложения DVTA для выявления различных проблем.
Содержание
- Предпосылки
- Сбор информации с помощью CFF Explorer
- Сбор информации с помощью Sysinternal Suite
- Сбор информации с помощью Procmon
- Сбор информации с помощью Wireshark
Предпосылки
- Обозреватель CFF
- Комплект Sysinternals
- Wireshark
Сбор информации с помощью CFF Explorer
CFF Explorer был разработан, чтобы сделать редактирование PE максимально простым, но не упуская из виду внутреннюю структуру переносимого исполняемого файла. Это приложение включает в себя ряд инструментов, которые могут помочь не только реинжинирингу, но и программистам.
Итак, не теряя много времени, быстро откройте DVTA.exe, выбрав Файл > открыть > DVTA.exe, как показано на рисунке ниже.
Давайте посмотрим, какую ценную информацию мы получим…
Этой информации достаточно, чтобы легко декомпилировать приложение.
Сбор информации с помощью Sysinternals Suite
После завершения загрузки установите его. Установка довольно проста, нет необходимости вносить изменения в установку, просто нажимайте «Далее» и «Далее», пока установка не завершится.
Начнем с инструмента TCP View из Sysinternals Suite
Откройте представление TCP приложения, и сразу после открытия приложения вы увидите, что машина устанавливает сетевые соединения, и что нас интересует, так это приложение DVTA.
Итак, дело в том, что нам нужно собрать информацию, например, о том, где эти приложения обмениваются данными, например IP-адрес назначения.
Для этого запустите модифицированное приложение DVTA и посмотрите, что произойдет… 🤔
Прежде всего, настройте сервер на свой локальный IP-адрес или петлевой адрес и войдите в приложение DVTA с учетными данными пользователя.
Теперь вы можете видеть, что в представлении TCP появилась новая запись, показывающая процессы DVTA.exe, а локальный адрес — 127.0.0.1 и удаленный адрес, который взаимодействует с локальным хостом в этом случае, потому что это петлевой адрес, на котором установлена база данных.
Таким образом мы можем определить IP-адреса, с которыми взаимодействуют наши приложения. Итак, мы сделали первый шаг к сбору информации.
Перейдем к другому инструменту из Sysinternals Suite, который называется Procmon.
Сбор информации с помощью Procmon
По сути, Procmon — это монитор процессов, который помогает нам понять изменения файловой системы и доступ к файловой системе.
Давайте откроем приложение Procmon, которое вы можете найти в папке пакета Sysinternals.
Здесь мы используем 32-разрядную версию.
Сразу после открытия приложения Procmon вы можете увидеть, что этот монитор процессов показывает много трафика, и причина этого в том, что он собирает все процессы и показывает выходные данные всех процессов в своем окне. р>
Нам становится сложно понять интересующий нас процесс. Чтобы уменьшить эту сложность, давайте настроим фильтр, выбрав Фильтр > Фильтр или просто нажав Ctrl+L
Выберите атрибут имени процесса DVTA.exe, потому что это единственный процесс, который нас интересует, и ДОБАВЬТЕ фильтр.
Теперь вы увидите пустой экран, потому что в данный момент DVTA не запущен.
Итак, не теряя времени, вернитесь в папку измененного приложения DVTA и запустите DVTA.exe. Теперь, просто открывая DVTA, трафик генерируется только для файла DVTA.exe. Так что теперь они стали более интересными и понятными.
Теперь настройте наш сервер на 127.0.0.1. мы настроили сервер уже в предыдущих статьях делаем это снова, чтобы понять, какие изменения вносятся в файловую систему, когда мы ее настраиваем. Но прежде чем делать это, очистите экран, чтобы уменьшить сложность, выбрав «Правка» > «Очистить отображение», чтобы при нажатии кнопки «Настроить сервер» мы могли видеть только вносимые изменения.
Сразу после нажатия кнопки «Настроить сервер» вы сразу же увидите, что генерируется большой объем трафика, как показано ниже на изображении.
Теперь, что нас интересует, мы хотим понять, что происходит, когда мы нажимаем кнопку настройки сервера. Так что просто прокрутите вниз до вывода и посмотрите, что мы можем найти интересного.
Осуществляется доступ к большому количеству записей реестра, а внизу находятся некоторые файлы, к которым осуществляется доступ, например, создать файл, открыть информационный файл Query Network, закрыть файл…
Итак, похоже, что к этим файлам обращается DVTA.exe, когда мы пытаемся настроить IP-адрес. Так что быстро откройте его и посмотрите, что там есть. Мы можем напрямую перейти от монитора процесса к местоположению этого файла, щелкнув его правой кнопкой мыши, а затем перейти к Перейти к…
Он перенаправит вас к местоположению этого файла, измененного в файловой системе, как показано ниже, а также автоматически выделит файл, в котором подразумеваются изменения.
Теперь давайте откроем XML-файл конфигурации DVTA.exe в вашей любимой программе просмотра XML.
Это будет очень интересно, так как вы можете видеть, что сервер настроен на 127.0.0.1 точно такой же IP-адрес, который мы ввели ранее, и выглядит, когда мы нажимаем «Настроить сервер», IP-адрес берется из текстового поля и помещается здесь … 🤔
Помимо этих записей здесь у нас есть несколько других интересных записей, если вы заметили, что имя базы данных — DVTA… если вы помните, это имя базы данных, которое мы использовали при создании базы данных в SQL Server Express. Кроме того, есть имя пользователя и пароль для базы данных, но кажется, что пароль зашифрован, но если вы увидите прямо ниже, что есть ключ шифрования AES, который, возможно, используется для расшифровки зашифрованного значения, и помимо этого есть значение IV который, вероятно, используется с шифрованием AES.
Теперь главное, что нужно отметить, это то, что когда мы пытались настроить сервер в приложении… приложение обращается к этому файлу DVTA.exe.config и пытается поместить туда IP-адрес, тогда мы имеем также заметил еще некоторую интересную информацию, такую как пароль к зашифрованной базе данных и ключ AES.
Давайте откроем приложение DVTA и войдем в приложение, используя учетные данные пользователя, как показано ниже, а на другой вкладке монитор процесса начнет захват трафика.
Как видите, мы успешно вошли в приложение, также вы можете проверить учетные данные пользователя, перейдя к просмотру профиля. Теперь закройте вкладку напрямую, не выходя из системы.
Теперь снова откройте приложение DVTA и, если вы заметили, оно больше не просит ввести учетные данные. Это означает, что он где-то хранит учетные данные или может хранить сеанс где-то в клиенте.Итак, что мы попытаемся сделать, так это закрыть приложение и снова очистить дисплей procmon, чтобы нам пришлось иметь дело с меньшим количеством записей, и еще раз мы откроем DVTA.exe, и мы уже заметили, что не сделали этого. не выходите из системы, чтобы сразу перейти на главный экран
Теперь давайте посмотрим, не происходит ли чего-нибудь интересного в файловой системе, когда мы пытаемся открыть это приложение в существующем сеансе. Итак, продолжайте прокручивать вниз до экрана вывода, пока мы не найдем что-то интересное, и если вы увидите, что есть реестр, специфичный для имени нашего приложения DVTA, и внутри него, похоже, есть некоторые ключи, такие как имя пользователя, вход в систему… и т. д. р>
Итак, это кажется интересным, давайте быстро откроем запись реестра, щелкнув ее правой кнопкой мыши и перейдя к Перейти к, или вы можете напрямую перейти к файлу, нажав Ctrl + J.
Откроется запись реестра. Как мы видим, у него есть пара ключей, таких как электронная почта, вход в систему, пароль и имя пользователя. Таким образом, это приложение хранит учетные данные здесь, а также проверяет, вошел ли пользователь в систему или нет.
И это означает, что если вы измените значение isLoggedIn с true на false, возможно, вас попросят снова ввести учетные данные для входа, даже если вы уже вошли в систему.
Хмм… вышел Давайте сделаем это.
Давайте проверим это, закрыв приложение DVTA и снова открыв его.
Когда вы снова откроете приложение DVTA, оно попросит вас снова ввести учетные данные для входа, что означает, что наши подтверждения верны. Если приложение найдет эту запись реестра со значением true, оно не будет запрашивать у вас вход в систему.
Таким образом, это можно использовать для некоторых интересных атак, например, если мы изменим имя пользователя и пароль в записи реестра, мы можем легко обмануть приложение, чтобы оно поверило, что конкретный пользователь уже вошел в систему со своими учетными данными.< /p>
Выглядит очень интересной атакой… не правда ли…?? Давайте сделаем это
Измените значение пароля с Vijay на paras или самостоятельно, дважды щелкнув реестр пароля, как показано ниже.
То же самое еще раз измените значение имени пользователя vijay на paras или ваше собственное имя и нажмите ОК
Давайте проверим, что произойдет, если мы еще раз откроем приложение DVTA.
Как видите, мы напрямую вошли в приложение, не вводя учетные данные для входа. Итак, как мы видим, мы можем просто обмануть приложение, чтобы оно входило в приложение напрямую, внеся изменения в запись реестра.
Из всех этих процессов мы узнали, что приложение сохраняет учетные данные для входа в запись реестра.
Сбор информации с помощью Wireshark
После загрузки Wireshark установите его в своей системе, нажав «Далее» и «Далее», никаких изменений в установке не требуется. Установив его, запустите Wireshark, и интерфейс будет выглядеть примерно так, как показано на изображении ниже.
Поскольку мы используем петлевой адрес, давайте выберем петлевой захват трафика
Теперь вернитесь к измененному приложению DVTA и войдите в приложение, используя учетные данные для входа.
Сразу после входа в приложение вернитесь в Wireshark, и вы увидите, что туда идет много трафика, просто обновите захват и снова войдите в приложение DVTA, и сразу после нажатия кнопки входа вернитесь в Wireshark, и лучше остановите захват сразу после нажатия кнопки входа, чтобы он не перехватывал ненужный трафик, как показано ниже на изображении, где я открыл две разные вкладки, одну из Wireshark, а другую — приложение DVTA, просто чтобы посмотреть, как оно захватывает трафик, когда я нажимаю вход кнопка.
Теперь нас интересует, как этот логин взаимодействует с сервером. Если вы посмотрите, есть некоторые пакеты, которые используют протокол UDP, поэтому давайте откроем их в потоке UDP, а затем посмотрим, что мы можем найти.
Когда вы откроете этот пакет, вы увидите, что это пакет, содержащий запрос к SQL Server. Вы можете видеть, что есть SQL Express и имя хоста, на котором работает SQL-сервер.
Итак, этот пакет показывает, что мы устанавливаем сетевое соединение с SQL-сервером, и этого достаточно, также вы можете захватить весь трафик приложения DVTA, как приложение взаимодействует с сервером.
Теперь главный вывод заключается в том, что приложение устанавливает некоторые соединения SQL, когда вы пытаетесь взаимодействовать с ним.
В следующей части мы поговорим о разных векторах атак.
Автор – Виджай является сертифицированным этичным хакером, техническим писателем и тестером на проникновение в Hacking Articles. Помешанный на технологиях и гаджетах. Свяжитесь здесь
Читайте также: