Статья Web Requests Чассть 1

Kain

Original poster
Moderator
Сообщения
6
Реакции
0
Посетить сайт
HyperText Transfer Protocol (HTTP)

Сегодня большинство приложений, которыми мы постоянно пользуемся, взаимодействуют с интернетом — как веб, так и мобильные приложения. Большинство интернет-взаимодействий осуществляется через веб-запросы по протоколу HTTP. HTTP — это протокол прикладного уровня, используемый для доступа к ресурсам
Всемирной паутины. Термин «гипертекст» обозначает текст, содержащий ссылки на другие ресурсы и текст, который читатели могут легко интерпретировать.

Коммуникация по протоколу HTTP включает в себя клиента и сервер, где клиент запрашивает у сервера определённый ресурс. Сервер обрабатывает запросы и возвращает запрашиваемый ресурс. По умолчанию для HTTP-коммуникации используется порт 80, хотя он может быть изменён на любой другой порт в зависимости от конфигурации веб-сервера. Те же запросы используются, когда мы посещаем различные веб-сайты в интернете. Мы вводим полное доменное имя (FQDN) в виде унифицированного указателя ресурса (URL), чтобы перейти на нужный веб-сайт, например:Коммуникация по протоколу HTTP включает в себя клиента и сервер, где клиент запрашивает у сервера определённый ресурс. Сервер обрабатывает запросы и возвращает запрашиваемый ресурс. По умолчанию для HTTP-коммуникации используется порт 80. Те же запросы используются, когда мы посещаем различные веб-сайты в интернете. Мы вводим полное доменное имя (FQDN) в виде унифицированного указателя ресурса (URL), чтобы перейти на нужный веб-сайт, например:

Авторизируйтесь или Зарегистрируйтесь что бы просматривать ссылки.



URL

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

1751875520090.png

Scheme - Используется для определения протокола, к которому обращается клиент, и заканчивается двоеточием и двойной косой чертой :)//).
User Info - Это необязательный компонент, который содержит учетные данные (разделенные двоеточием ":" ), используемые для аутентификации на хосте, и отделяется от хоста символом «собака» (@).
Host - Хост указывает на местоположение ресурса. Это может быть имя хоста или IP-адрес.
Port - Порт отделяется от хоста двоеточием ":" ). Если порт не указан, для схемы HTTP по умолчанию используется порт 80, а для HTTPS — порт 443.
Path - Указывает на ресурс, к которому осуществляется доступ, это может быть файл или папка. Если путь не указан, сервер возвращает индекс по умолчанию (например, index.html).
Query String - Строка запроса начинается с вопросительного знака (?) и состоит из параметра (например, login) и значения (например, true). Несколько параметров могут быть разделены амперсандом (&).
Fragments - Фрагменты обрабатываются браузерами на стороне клиента для определения местоположения разделов в основном ресурсе (например, заголовка или секции на странице).

Не все компоненты обязательны для доступа к ресурсу. Основные обязательные поля — это схема и хост, без которых запрос не будет иметь ресурса для обращения.

HTTP Flow

1751876169005.png
Приведенная выше диаграмма представляет анатомию HTTP-запроса на очень высоком уровне. Когда пользователь впервые вводит URL (inlanefreight.com) в браузер, тот отправляет запрос на сервер DNS (Domain Name System) для разрешения домена и получения его IP-адреса. Сервер DNS выполняет поиск IP-адреса для inlanefreight.com и возвращает его. Все доменные имена должны быть разрешены таким образом, поскольку сервер не может взаимодействовать без IP-адреса.

Примечание: Браузеры обычно сначала проверяют записи в локальном файле '/etc/hosts', и если запрашиваемый домен там отсутствует, они обращаются к другим DNS-серверам. Мы можем использовать файл '/etc/hosts' для ручного добавления записей для разрешения DNS, указав IP-адрес, за которым следует имя домена.

Как только браузер получает IP-адрес, связанный с запрашиваемым доменом, он отправляет GET-запрос на стандартный порт HTTP (например, 80), запрашивая корневой путь /. Затем веб-сервер получает запрос и обрабатывает его. По умолчанию серверы настроены на возврат индексного файла при получении запроса на /.

В данном случае содержимое файла index.html считывается и возвращается веб-сервером в виде HTTP-ответа. Ответ также содержит код состояния (например, 200 OK), который указывает, что запрос был успешно обработан. Затем веб-браузер отображает содержимое index.html и представляет его пользователю.

cURL

cURL (client URL) — это инструмент командной строки и библиотека, которая в первую очередь поддерживает HTTP, а также множество других протоколов. Это делает её отличным выбором для скриптов и автоматизации, что крайне важно для отправки различных типов веб-запросов из командной строки, необходимых для многих видов тестирования на проникновение веб-приложений.

Мы можем отправить базовый HTTP-запрос на любой URL, используя его в качестве аргумента для cURL, следующим образом:

1751876480497.png

Мы видим, что cURL не отображает HTML/JavaScript/CSS-код, как это делает веб-браузер,
а выводит его в необработанном виде. Однако, как специалисты по тестированию на проникновение,
нас в первую очередь интересует контекст запроса и ответа, что обычно оказывается гораздо быстрее
и удобнее, чем использование веб-браузера.

Мы также можем использовать cURL для загрузки страницы или файла и вывода содержимого в файл с помощью флага -O.
Если мы хотим задать имя выходного файла, мы можем использовать флаг -o и указать нужное имя.
В противном случае можно использовать -O, и cURL применит имя удалённого файла, как показано ниже:

1751876656367.png

Как мы видим, вывод в этот раз не был напечатан, а был сохранён в файл index.html.
Мы также заметили, что cURL всё же выводил некоторую служебную информацию во время обработки запроса.
Мы можем отключить этот вывод с помощью флага -s, как показано ниже:

1751876714804.png

На этот раз cURL ничего не напечатал, так как вывод был сохранён в файл index.html.
Наконец, мы можем использовать флаг -h, чтобы посмотреть, какие ещё параметры доступны в cURL:

1751876761534.png

Как упоминается в сообщении выше, мы можем использовать --help all, чтобы вывести более подробное справочное меню,
или --help category (например, -h http), чтобы получить детальную справку по конкретной категории флагов.
Если нам понадобится более подробная документация, мы можем воспользоваться командой man curl, чтобы просмотреть полную справочную страницу руководства cURL.

В следующих разделах мы рассмотрим большинство из перечисленных выше флагов и разберёмся, где и в каких случаях следует их использовать.
 
Последнее редактирование модератором:
Название темы
Автор Заголовок Раздел Ответы Дата
B [808.529 lines] ☣️web.de 11-04-25 Раздача email 0
B [34.332 lines] ☣️web.de 11-04-25 Раздача email 0
U Zabugor 80 k - GMX.DE & WEB.DE GOODS 2025 UNIQUE-COMBO (6) Раздача email 0
U Zabugor 80 k - GMX.DE & WEB.DE GOODS 2025 UNIQUE-COMBO (5) Раздача email 0
U Zabugor 80 k - GMX.DE & WEB.DE GOODS 2025 UNIQUE-COMBO (4) Раздача email 0
U Zabugor 80 k - GMX.DE & WEB.D GOODS 2025 UNIQUE-COMBO (3) Раздача email 0
B [1.956 lines] ☣️web.de 11-04-25 Раздача email 0
U Zabugor 80 k - GMX.DE & WEB.DE GOODS 2025 UNIQUE-COMBO Раздача email 0
U Zabugor 80 k - GMX.DE & WEB.DE GOODS 2025 UNIQUE-COMBO Раздача email 0
B [1.881 lines] ☣️web.de 11-04-25 Раздача email 0
B [43.667 lines] ☣️web.de 12-04-25 Раздача email 0
B [7.225 lines] ☣️web.de 11-04-25 Раздача email 0
B [21.888 lines] ☣️web.de 11-04-25 Раздача email 0
B [3.608 lines] ☣️web.de 07-04-25 Раздача email 0
B [93.169 lines] ☣️web.de 11-04-25 Раздача email 0
Alias312 Меркантилизм - WEB индустрия Сайты|Баннеры|Дизайн Ищу работу. Предлагаю свои услуги. 3
Kint I will process EU/US valid Mail:pass/Mail:hash [imap/web] Способы заработка 0
Emilio_Gaviriya Статья Как работает JSON Web Token. Анонимность и приватность 0
Elliot_service Закрыто Пишу web-проекты | Копии сайтов | Поднимаю сервера | Маркетплейсы | ТГ Боты | Скрипты | Крипта | python, php, js, MySql, html/css Корзина 1
gelt Web и мобильная разработка от ROVA Agency ️ Услуги дизайнеров/веб-разработчиков 0
U Valid [ 30k UHQ NEW GERMANY COMBO * T-ONLINE, WEB.DE, GMX.DE DOMAIN ] #8 Раздача email 0
U MIX [ 30k UHQ NEW GERMANY COMBO * T-ONLINE, WEB.DE, GMX.DE DOMAIN ] #7 Раздача email 0
U Valid [ 30k UHQ NEW GERMANY COMBO * T-ONLINE, WEB.DE, GMX.DE DOMAIN ] #6 Раздача email 0
U Valid [ 30k UHQ NEW GERMANY COMBO * T-ONLINE, WEB.DE, GMX.DE DOMAIN ] #5 Раздача email 0
U Valid [ 30k UHQ NEW GERMANY COMBO * T-ONLINE, WEB.DE, GMX.DE DOMAIN ] #4 Раздача email 0
U Valid [ 30k UHQ NEW GERMANY COMBO * T-ONLINE, WEB.DE, GMX.DE DOMAIN ] #3 Раздача email 0
U Valid [ 30k UHQ NEW GERMANY COMBO * T-ONLINE, WEB.DE, GMX.DE DOMAIN ] #2 Раздача email 0
U MIX [ 30k UHQ NEW GERMANY COMBO * T-ONLINE, WEB.DE, GMX.DE DOMAIN ] #1 Раздача email 0
S ScrapingBypass Web Scraping API Обход Cloudflare Captcha Корзина 0
swimmingPerl На проверке Услуги web разработчика. 2 года опыта. PHP, JavaScript. Все популярные фреймворки Ищу работу. Предлагаю свои услуги. 1
H Закрыто СЕРВИС. web-разработка. Создание сайтов, лэндингов, прелэндингов, скриптов. Корзина 1
W Продам ★ WELL-WEB ★ Хостинг от 1.99$ ★ VPS от 8.99$ ★ Серверы от 29$ ★ 7 лет на рынке ★ Лояльны к жалобам ★ Заказывайте и получите 6 мес в подарок! Дедики/VPN/соксы/ssh 0
W Продам [WELL-WEB.NET] Хостинг - от 2.49$, VDS - от 6.49$, Серверы - от 59$! [Лояльность к жалобам] Сайты/Хостинг/Сервера 2
0 aestore.io - Web Shell-Mailer-SMTP-SSH-Leads-Cpanel-Numbers-fresh-Accounts Корзина 0
B [SELL] TXT/MHT-Dropper + Loader :: [web-панель, C++ WinAPI, offline] Продажа софта 3
B Проверено [SELL] Стартер :: подготовка системы для шифрования [web-панель, C++ WinAPI, offline] Продажа софта 1
D Закрыто Web development | разработка сайтов/магазинов/лендингов | платежные страницы | скрипты | dns сервера Корзина 2
A Привет! Разработаем: WEB проект/ Сайт/ Копию Сайта/ Скрипты| Под ключ Ищу работу. Предлагаю свои услуги. 1
C Курс: Advanced Web Attacks and Exploatation (2020) Другое 0
S Продам Разработка web проектов любой сложности. Услуги дизайнеров/веб-разработчиков 1
H Web-shell без JavaScript с файл-менеджером на борту Корзина 0
R WEB-разработчик на C# Предоставляю работу. Ищу специалиста. 0
Denik Интересно Чем Deep web отличается от Darknet Полезные статьи 3
M Топ-5 лучших Dark Web Browser для анонимного просмотра веб - страниц с максимальной конфиденциальностью Уязвимости и взлом 0
S Hack the Web. Взламываем сайт. Используем и эксплуатируем уязвимости. Уязвимости и взлом 1
GhosTM@n Интересно InduSoft Web Studio 8.1 SP1 - "Atributos" Denial of Service (PoC) Полезные статьи 0
B [Иван Петриченко] WEB-разработчик 2020 Полезные статьи 0
andre5787 Регистрация Web money на другие паспортные данные Вопросы и интересы 0
B HTML5 и CSS3 Современные средства Web-разработки - geekbrains Полезные статьи 0
W Web-link - каталог dark тематики Полезные статьи 3

Название темы