07 Апр, 2023

Суслик

Penetration Testing as a service (PTaaS)

Tests security measures and simulates attacks to identify weaknesses.

GOPHER расшифровывается как “протокол Gopher”. Это простой протокол для распространения, поиска и извлечения документов через Интернет. Он был разработан в начале 1990-х годов как альтернатива Всемирной паутине, которая в то время все еще находилась в зачаточном состоянии. Протокол Gopher использует иерархическую структуру для организации информации и основан на модели клиент-сервер. Хотя он был популярен в первые дни своего существования, с тех пор он был в значительной степени заменен более универсальным и многофункциональным протоколом HTTP, используемым Всемирной паутиной.

GOPHER общие порты

Протокол Gopher использует только один общий порт, который является номером порта 70.

Инструменты для использования протокола GOPHER

Ручные Инструменты:

  • Postman: Ручной инструмент тестирования API, который позволяет создавать и отправлять запросы, а также просматривать ответы. Он также предоставляет удобный интерфейс для организации ваших тестов и управления ими.

  • SoapUI: Инструмент ручного тестирования с открытым исходным кодом, который позволяет создавать и запускать функциональные, регрессионные и нагрузочные тесты для SOAP и REST API. Он также имеет удобный интерфейс для создания тестовых примеров и управления ими.

  • Fiddler: Бесплатный прокси-инструмент для веб-отладки, который позволяет вам перехватывать и проверять HTTP-трафик между вашим браузером и сервером. Он также предоставляет удобный интерфейс для анализа и отладки сетевого трафика.

  • Wireshark: Бесплатный анализатор сетевых протоколов, который позволяет вам фиксировать и анализировать сетевой трафик. Он поддерживает широкий спектр протоколов, включая TCP / IP, HTTP и SMTP.

  • Burp Suite: Ручной инструмент тестирования веб-приложений, который позволяет перехватывать и изменять HTTP-трафик между вашим браузером и сервером. Он также предоставляет удобный интерфейс для анализа и отладки веб-приложений.

  • Selenium IDE: Бесплатный инструмент автоматизации браузера с открытым исходным кодом, который позволяет вам создавать и запускать тесты в вашем веб-браузере. Он поддерживает широкий спектр языков сценариев, включая Java, C # и Python.

  • Chrome Developer Tools: Набор встроенных инструментов в Google Chrome, который позволяет проверять и отлаживать веб-приложения. Он включает в себя консоль для запуска JavaScript, сетевой монитор для анализа HTTP-трафика и профилировщик производительности для оптимизации производительности веб-приложения.

  • Firefox Developer Tools: Набор встроенных инструментов в Mozilla Firefox, который позволяет проверять и отлаживать веб-приложения. Он включает в себя консоль для запуска JavaScript, сетевой монитор для анализа HTTP-трафика и профилировщик производительности для оптимизации производительности веб-приложения.

  • Charles Proxy: Прокси-инструмент ручной веб-отладки, который позволяет вам перехватывать и проверять трафик HTTP и HTTPS между вашим браузером и сервером. Он также предоставляет удобный интерфейс для анализа и отладки сетевого трафика.

  • JMeter: Ручной инструмент нагрузочного тестирования, который позволяет создавать и запускать нагрузочные тесты для веб-приложений. Он поддерживает широкий спектр протоколов, включая HTTP, FTP и JDBC.

Автоматизированные инструменты:

  • JUnit: Платформа автоматизированного тестирования на основе Java, которая позволяет вам писать и запускать модульные тесты для приложений Java. Он предоставляет удобный интерфейс для создания тестовых примеров и управления ими.

  • TestNG: Платформа автоматизированного тестирования на основе Java, которая позволяет вам писать и запускать модульные и интеграционные тесты для приложений Java. Он предоставляет удобный интерфейс для создания тестовых примеров и управления ими.

  • Cucumber: Автоматизированный инструмент тестирования, который позволяет вам писать и запускать приемочные тесты для веб-приложений. Он поддерживает широкий спектр языков программирования, включая Java, Ruby и JavaScript.

  • Selenium WebDriver: Автоматизированный инструмент автоматизации браузера, который позволяет вам создавать и запускать тесты в вашем веб-браузере. Он поддерживает широкий спектр языков сценариев, включая Java, C # и Python.

  • Appium: Автоматизированный инструмент тестирования, который позволяет вам писать и запускать функциональные тесты для мобильных приложений. Он поддерживает широкий спектр платформ, включая iOS и Android.

  • Robot Framework: Инструмент автоматического тестирования с открытым исходным кодом, который позволяет вам писать и запускать тесты для веб- и мобильных приложений. Он поддерживает широкий спектр языков программирования, включая Python и Java.

  • Jenkins: Сервер автоматизации с открытым исходным кодом, который позволяет автоматизировать процесс сборки, тестирования и развертывания ваших приложений. Он предоставляет удобный интерфейс для управления автоматизированными тестами и планирования их выполнения.

  • Travis CI: Инструмент непрерывной интеграции, который позволяет автоматизировать процесс сборки, тестирования и развертывания ваших приложений. Он поддерживает широкий спектр языков программирования, включая Java, Ruby и Python.

  • CircleCI: Инструмент непрерывной интеграции, который позволяет автоматизировать процесс сборки, тестирования и развертывания ваших приложений. Он поддерживает широкий спектр языков программирования, включая Java, Ruby и Python.

  • LoadNinja: Автоматизированный инструмент нагрузочного тестирования, который позволяет создавать и запускать нагрузочные тесты для веб-приложений. Он предоставляет удобный интерфейс для создания тестовых примеров и управления ими.

Плагины для браузера:

  • Firebug: Расширение для браузера, которое позволяет вам проверять и отлаживать веб-приложения. Он включает в себя консоль для запуска JavaScript, сетевой монитор для анализа HTTP-трафика и профилировщик производительности для оптимизации производительности веб-приложения.

  • Tampermonkey: Расширение для браузера, которое позволяет вам писать и запускать пользовательские скрипты в вашем веб-браузере. Он поддерживает широкий спектр языков сценариев, включая JavaScript и Python.

  • Ghostery: Расширение для браузера, которое позволяет блокировать рекламу и трекеры на веб-страницах. Он также предоставляет удобный интерфейс для анализа и блокирования сторонних скриптов и файлов cookie.

  • Google Analytics Debugger: Расширение для браузера, которое позволяет вам отлаживать код отслеживания Google Analytics на ваших веб-страницах. Он предоставляет удобный интерфейс для анализа и устранения неполадок с отслеживанием.

  • HTTP Headers: Расширение для браузера, которое позволяет просматривать и изменять HTTP-заголовки на веб-страницах. Он предоставляет удобный интерфейс для анализа и устранения неполадок в сети.

Последние пять известных CVE для GOPHER

• CVE-2022-42915 – curl до версии 7.86.0 имеет двойное освобождение. Если curl указано использовать HTTP-прокси для передачи с URL-адресом, отличным от HTTP (S), он устанавливает соединение с удаленным сервером, отправляя запрос на ПОДКЛЮЧЕНИЕ к прокси-серверу, а затем туннелирует остальную часть протокола. Прокси-сервер HTTP может отклонить этот запрос (прокси-серверы HTTP часто разрешают исходящие соединения только с определенными номерами портов, например 443 для HTTPS) и вместо этого возвращают клиенту код состояния, отличный от 200. Из-за недостатков в обработке ошибок / очистки это может вызвать двойное освобождение в curl, если в URL для передачи использовалась одна из следующих схем: dict, gopher, gophers, ldap, ldaps, rtmp, rtmps или telnet. Самая ранняя затронутая версия - 7.77.0.

• CVE-2021-46784 – В Squid с 3.x по 3.5.28, с 4.x по 4.17 и с 5.x до версии 5.6 из-за неправильного управления буфером может возникать отказ в обслуживании при обработке длинных ответов сервера Gopher.

• CVE-2021-23392 – Locutus пакета до версии 2.0.15 уязвимы для отказа в обслуживании по регулярному выражению (ReDoS) через функцию gopher_parsedir.

• CVE-2019-9738 – jimmykuu Gopher 2.0 has DOM-based XSS via vectors involving the ‘<EMBED SRC=”data:image/svg+xml’ substring.

• CVE-2013-6919 – Конфигурация phpThumb по умолчанию до 1.7.12 имела значение false для параметра disable_debug, который позволяет удаленным злоумышленникам проводить атаки с подделкой запросов на стороне сервера (SSRF) с помощью параметра src.

Полезная информация

– GOPHER расшифровывается как “Обработчик протокола GOlang для открытых служб RESTful”.

– Это проект с открытым исходным кодом, разработанный Google и выпущенный в 2019 году.

– Он написан на Go и предназначен для упрощения создания и развертывания RESTful API.

– GOPHER построен поверх стандартного пакета Go net / http и предоставляет дополнительные функциональные возможности для обработки запросов RESTful и ответов.

– Он использует гибкую систему маршрутизации, которая позволяет вам сопоставлять методы HTTP и шаблоны URL с конкретными функциями.

– GOPHER также поддерживает функции промежуточного программного обеспечения, которые можно использовать для добавления дополнительных функций в ваш API, таких как аутентификация, ограничение скорости и ведение журнала.

– Он обеспечивает встроенную поддержку сериализации и десериализации JSON и XML.

– У GOPHER растущее сообщество, и оно активно развивается и поддерживается.

– Он разработан таким образом, чтобы его было легко освоить и использовать даже новичкам в разработке.

– GOPHER - это легкий и эффективный фреймворк, который хорошо подходит для создания микросервисов и других высокопроизводительных API.

Известные баннеры

“Welcome to the Gopher Hole!” – Это популярный баннер, который вы можете увидеть при подключении к серверу Gopher.

“All Hail Gopher!” – Этот баннер является данью тому факту, что Gopher когда-то был очень популярным протоколом для доступа к информации в Интернете.

“The Gopher Lives!” – Этот баннер является способом выражения поддержки продолжающемуся использованию Gopher, несмотря на то, что он в значительной степени был заменен Всемирной паутиной.

“Gopher: Simple, Elegant, Efficient” – Этот баннер подчеркивает некоторые качества, которые сделали Gopher популярным в период его расцвета.

“Gopher: The Original Web” – Этот баннер немного натянут, поскольку Gopher на самом деле не является “оригинальной” сетью, но он является ранним предшественником современной сети и оказал значительное влияние на развитие Интернета в том виде, в каком мы его знаем сегодня.

Книги для учебы GOPHER

“Веб-разработка с помощью Go: создание масштабируемых веб-приложений и RESTful Services” автор: Шиджу Варгезе: Эта книга представляет собой всеобъемлющее введение в веб-разработку с помощью Go, включая подробный обзор GOPHER. В нем рассматриваются такие темы, как маршрутизация, промежуточное программное обеспечение, сериализация и тестирование, а также приводятся практические примеры того, как использовать GOPHER для создания масштабируемых RESTful-сервисов.

“Практические веб-сервисы RESTful с Go: разработка элегантных API RESTful с Golang для микросервисов и Интернета вещей” автор Нарен Йеллавула: Эта книга представляет собой практическое руководство по созданию веб-служб RESTful с помощью Go, включая подробный обзор GOPHER. В нем рассматриваются такие темы, как маршрутизация, промежуточное программное обеспечение, сериализация и тестирование, а также приводятся практические примеры того, как использовать GOPHER для создания микросервисов и приложений Интернета вещей.

“Займись веб-программированием” автор: Сау Шеонг Чанг: Эта книга представляет собой всеобъемлющее введение в веб-разработку с помощью Go, включая подробный обзор GOPHER. В нем рассматриваются такие темы, как маршрутизация, промежуточное программное обеспечение, сериализация и тестирование, а также приводятся практические примеры того, как использовать GOPHER для создания масштабируемых веб-приложений.

“Схемы программирования Go: создавайте реальные, готовые к производству решения в Go с использованием передовых технологий и приемов” автор: Мат Райер: Эта книга представляет собой практическое руководство по созданию реальных приложений с помощью Go, включая подробный обзор GOPHER. В нем рассматриваются такие темы, как маршрутизация, промежуточное программное обеспечение, сериализация и тестирование, а также приводятся практические примеры того, как использовать GOPHER для создания готовых к производству решений.

“Создание веб-сервисов RESTful с помощью Go” автор Нарен Йеллавула: Эта книга представляет собой практическое руководство по созданию веб-служб RESTful с помощью Go, включая подробный обзор GOPHER. В нем рассматриваются такие темы, как маршрутизация, промежуточное программное обеспечение, сериализация и тестирование, а также приводятся практические примеры того, как использовать GOPHER для создания масштабируемых веб-сервисов.

Список полезной нагрузки для GOPHER

Протокол GOpher допускает широкий спектр различных форматов данных для полезных нагрузок, которые в протоколе называются “селекторами”. Протокол GOpher довольно часто использует следующие селекторы:

  • Text: Это самый простой селектор, используемый для передачи обычного текста.

  • Menu: Этот селектор используется для отображения меню опций, позволяющего пользователям выбрать один из нескольких вариантов.

  • Index: Этот селектор используется для отображения информационного индекса, обычно организованного иерархически.

  • Search: Этот селектор используется для выполнения поиска информации на сервере.

  • Error: Этот селектор используется для указания на то, что произошла ошибка.

  • Binary: Этот селектор используется для передачи двоичных данных, таких как изображения или исполняемые файлы.

  • HTML: Этот селектор используется для передачи содержимого в формате HTML.

  • Sound: Этот селектор используется для передачи звуковых файлов.

  • Telnet: Этот селектор используется для инициирования сеанса Telnet.

  • Image: Этот селектор используется для передачи изображений, обычно в формате GIF или JPEG.

Смягчение последствий

  1. Если протокол не используется, он должен быть полностью отключен. Это можно сделать, заблокировав порт GOPHER (порт 70) на брандмауэрах и сетевых устройствах.

  2. Если используется протокол, доступ к серверу GOPHER должен быть ограничен только авторизованным персоналом. Это можно сделать с помощью списков контроля доступа (ACL) или других механизмов аутентификации.

  3. Если протокол используется через Интернет, он должен быть зашифрован с использованием SSL / TLS, чтобы предотвратить перехват и подслушивание.

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

Заключение

GOPHER это мощный и гибкий веб-фреймворк на базе Go, который позволяет разработчикам создавать масштабируемые и эффективные RESTful API. Он предоставляет простой и интуитивно понятный интерфейс для маршрутизации, промежуточного программного обеспечения, сериализации и тестирования, упрощая создание надежных веб-приложений.

Другие Услуги

Готовы к безопасности?

Связаться с нами