Fiddler как подменить ответ от сервера
Перейти к содержимому

Fiddler как подменить ответ от сервера

  • автор:

Подмена http трафика ( ответа с сервера) для приложения

Всем привет! Недавно задался вопросом , можно ли обойти активацию приложения при помощи серийника ( проверка через интернет) Заметил, что запрос осуществляется по по протоколу http (без шифрования) Знаю данные, которые нужно отправить программе , чтобы она активировалась. НО Проги по типу FIDDLER, Charles , HTTP toolkit не видят трафик, исходящий не из браузеров! Возможно ли подменить трафик? Есть ли проги под win?

Отслеживать

задан 24 июн 2021 в 4:32

11 1 1 бронзовый знак

Нужно заплатить.

24 июн 2021 в 8:01

Можно подменить запись в hosts файле для домена и перенаправить все на localhost. А там запустить pypi.org/project/pretenders и сконфигурировать, чтоб отвечал так как нужно

24 июн 2021 в 8:09

0

Сортировка: Сброс на вариант по умолчанию

Знаете кого-то, кто может ответить? Поделитесь ссылкой на этот вопрос по почте, через Твиттер или Facebook.

  • http
  • wireshark
  • fiddler
  • remote-debugging

Функциональные возможности Fiddler как инструмента для анализа и подмены HTTPS-трафика

В посте будут рассмотрены следующие функциональные возможности Fiddler Classic:

  • Расшифровка HTTPS-трафика
  • Настройка фильтрации трафика
  • Анализ запросов и ответов
  • Составление и модификация HTTP(S) запросов

Использование FiddlerScript для расширения функциональных возможностей Fiddler

Расшифровка HTTPS-трафика

HTTPS (Hypertext Transfer Protocol Secure) является широко используемым протоколом для безопасного обмена данными через Интернет. По сути, HTTPS – это расширенная версия протокола HTTP с использованием шифрования, обеспечивающая конфиденциальность и целостность данных во время передачи.

В протоколе HTTPS сообщения, отправляемые по сети, шифруются с использованием TLS – протокола защиты транспортного уровня (transport layer security). Для своей работы TLS использует набор доверенных сертификатов, установленных на компьютере для установления подлинности сервера, с которым он взаимодействует.

Fiddler позволяет расшифровывать HTTPS-трафик, установив корневой сертификат и включив расшифровку HTTPS. Для этого необходимо:

  1. Включить расшифровку HTTPS.

Запустите Fiddler на устройстве, которое будет перехватывать трафик. Затем перейдите «Tools» > «Options» > «HTTPS» и установите флажок «Decrypt HTTPS Traffic»:

2. Установка сертификата Fiddler

Для установки сертификата Fiddler на компьютер под управлением ОС Windows выполните следующие действия:

  • Перейдите в«Tools» > «Options» > «HTTPS».
  • Нажмите «Actions», затем «Trust Root Certificate».
  • Следуйте инструкциям во всплывающем окне, чтобы добавить сертификат Fiddler в список доверенных сертификатов.

Чтобы узнать, как установить сертификат Fiddler на компьютерах под управлением ОС Linux и Mac OS, см. страницы документации по Fiddler здесь и здесь.

3. Включение TLS 1.2

По умолчанию в Fiddler отключены версии протоколов TLS 1.1 и TLS 1.2 из-за проблем с совместимостью. Для включения TLS 1.2 необходимо:

  • Перейдите в Tools > Options > HTTPS.
  • Нажмите «Protocols».
  • В поле добавьте «TLS1.2».

Настройка фильтрации трафика

После настройки Fiddler для работы с HTTPS приступаю к анализу трафика. Вкладка «Filters» в Fiddler позволяет фильтровать и помечать трафик, отображаемый в пользовательском интерфейсе, а также вносить некоторые изменения в запросы.

Zone Filter позволяет отображать трафик только для внутренней сети или Интернета. Данный фильтр будет полезен, когда вы занимаетесь отладкой конкретного сайта или приложения (локально) и одновременно работаете с документацией из другой зоны (например, из Интернета).

Host Filter позволяет фильтровать трафик только для определенных доменных имен. Например, если вы выберете «Show only the following hosts» в раскрывающемся меню, вы можете указать имена хостов, с которыми хотите работать. Таким образом Fiddler будет отображать только тот трафик, который связан с выбранным именем хоста. Также доступна фильтрация по определенному процессу ОС (Client Process), на основе заголовков запросов и ответов (Request Headers/Response Headers), кода cсостояния HTTP (Response Status Code), на основе типа/размера контента (Response Type and Size) и пр.

После завершения настройки фильтров, нажмите «Actions» > «Run Filterset now» для применения фильтра.

Анализ запросов и ответов

Вкладка «Inspectors» позволяет более тщательно анализировать запросы и ответы. Чтобы загрузить запрос, просто перетащите его в окно.

Функционал Fiddler позволяет просматривать HTTPS-сообщение различными вариантами отображения. Например, во вкладке «Headers» отображаются заголовки запроса:

Вкладка «Raw» позволяет отобразить запрос в виде обычного текста:

Есть и другие варианты отображения – например, вкладка «WebForms» отображает строки запроса и формы HTTP(S), а вкладки «JSON» и «XML» запросы JSON и XML соответственно.

Составление HTTP(S) запросов

Вкладка «Composer» позволяет создать HTTP(S) запросы с нуля, указав метод HTTP, URL-адрес, версию HTTP, заголовки и тело самого запроса (Request Body). Также есть возможность автоматического заполнения всех полей, вручную «перетащив» запрос в окно «composer». Перед отправкой запроса его можно редактировать.

Ранее выполненные запросы можно посмотреть в поле «History». Для выполнения запроса необходимо нажать Execute в правом верхнем углу.

ИспользованиеFiddlerScript

FiddlerScript – встроенный язык программирования, позволяющий значительно расширить функциональные возможности Fiddler, модифицировать пользовательский интерфейс, а также анализировать входящий и исходящий трафик. Язык основан на JScript.NET.

Сохранять код необходимо в файл CustomRules.js, который открывается в меню Rules > Customize Rules. Сам файл находится в папке \Documents\Fiddler2\Scripts.

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

Комментарии к коду содержатся в файле CustomRules.js. Более подробно о FiddlerScript можно знакомиться здесь. Для редактирования кода рекомендуется использовать FiddlerScript Editor.

Использование возможностей Fiddler на примере подмены логотипа сайта

Рассмотрю использование Fiddler для подмены логотипа сайта google.ru на логотип от Яндекса. По сути, подмена логотипа на сайте – это подмена одного URL на другой. Перехожу на сайт google.ru, копирую ссылку логотипа.

Далее найду логотип от Яндекса и также скопирую ссылку.

Перейду во вкладку «AutoResponder», создам правило: в «If request matches…» заношу URL логотипа Google, в «Then respond with…» вношу логотип Яндекса. Активирую «Enable rules» и «Unmatched requests passthrough»:

В результате при переходе на сайт google.ru вместе логотипа Google будет отображаться логотип Яндекса:

Аналогичный результат можно получить, используя FiddlerScript. Для этого в обработчик OnBeforeRequest необходимо добавить следующий код:

static function OnBeforeRequest(oSession: Session) < . if (oSession.url=="www.google.ru/images/branding/googlelogo/1x/googlelogo_color_272x92dp.png") < oSession.url = "upload.wikimedia.org/wikipedia/commons/thumb/f/f1/Yandex_logo_2021_Russian.svg/640px-Yandex_logo_2021_Russian.svg.png"; >> 

Таким образом, рассмотренный функционал Fiddler позволяет расшифровать защищенный HTTPS трафик, произвести его фильтрацию и проанализировать поступающие запросы и ответы. На примере подмены логотипа сайта я показал, что Fiddler обладает возможностью подмены HTTPS-трафика, что может быть использовано для выявления уязвимых мест в работе приложения или сайта. Специалистам по информационной безопасности Fiddler будет полезен для выявления этих уязвимых мест для предотвращения кибератак.

Fiddler и быстрая подмена данных

Помогите новичку. Есть мобильное приложение, в котором нужно изменить данные, отсылаемые на сервер. Проблема связана с тем что POST запрос, который телефон отсылает, действителен только в течение 5 секунд, потом сервер выдает ошибку. Я просто не успеваю его отредактировать. Возможно ли в программе Fiddler сделать автозамену данных в POST запросе?

Peter84
17.11.19 01:04:41 MSK

Петя, да ты у мамки крутой какер?

anonymous
( 17.11.19 02:53:17 MSK )

Увеличь тайм-аут на сервере.

anonymous
( 17.11.19 05:49:11 MSK )

..нужно изменить данные, отсылаемые на сервер.. ..Я просто не успеваю его отредактировать..

DiMoN ★★★
( 21.11.19 21:56:57 MSK )
Последнее исправление: DiMoN 21.11.19 21:57:42 MSK (всего исправлений: 1)

Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.

Похожие темы

  • Форум Долгие запросы в REST API для мобильников (2014)
  • Форум Что получает fiddler? (2018)
  • Форум Linux+bluetooth+Nokia+Life:) (2006)
  • Форум Linux+bluetooth+Nokia+Life:) (2006)
  • Форум Секрет POST запроса http (2014)
  • Форум Shell (2007)
  • Форум [gentoo] Зависание при подключении eth1 (2011)
  • Форум быстрая пересылка данных (2015)
  • Форум [epson t50][kde] Помогите с принтером! (2010)
  • Форум Аналог Fiddler под Линукс (2008)

Как проводить тестирование с использованием Fiddler

Узнайте, как использовать Fiddler для перехвата, анализа и изменения HTTP/HTTPS запросов при тестировании веб-приложений.

Computer running a web testing tool and a web browser.

Алексей Кодов
Автор статьи
23 июня 2023 в 16:44

Fiddler является одним из популярных инструментов для тестирования и отладки веб-приложений. Он предоставляет возможность перехватывать, анализировать и изменять HTTP и HTTPS запросы, что очень полезно при проведении тестирования. В этой статье мы рассмотрим основные возможности Fiddler и как его использовать для тестирования.

Установка и настройка Fiddler

Первым делом вам необходимо скачать Fiddler с официального сайта https://www.telerik.com/fiddler и установить его на вашем компьютере. После установки запустите Fiddler и выполните следующие настройки:

  1. Перейдите в меню Tools > Options.
  2. Во вкладке HTTPS поставьте галочку на Capture HTTPS CONNECTs и Decrypt HTTPS traffic. Это позволит Fiddler перехватывать и декодировать HTTPS-трафик.

Настройка HTTPS

Теперь Fiddler готов к работе и будет перехватывать HTTP и HTTPS запросы.

Инженер-тестировщик: новая работа через 9 месяцев
Получится, даже если у вас нет опыта в IT

Работа с Fiddler

Перехват и анализ запросов

Чтобы начать перехватывать запросы, убедитесь, что в левом верхнем углу Fiddler включена опция Capture Traffic. Затем откройте веб-приложение, которое хотите протестировать, и выполните необходимые действия. В Fiddler в окне Web Sessions вы увидите список всех перехваченных запросов.

Список запросов

Кликнув дважды по любому запросу, вы сможете просмотреть его детали, такие как URL, метод, заголовки, параметры, тело запроса и ответ сервера.

Изменение запросов

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

  1. В окне Web Sessions выберите запрос, который хотите изменить.
  2. В меню Rules выберите Automatic breakpoints > Before requests. Это заставит Fiddler приостанавливать обработку запроса перед его отправкой на сервер.
  3. Выполните действие в веб-приложении, которое инициирует выбранный запрос.
  4. В Fiddler запрос будет подсвечен красным цветом. Кликните на него правой кнопкой мыши и выберите Edit request > In Composer.
  5. В открывшемся окне Composer внесите необходимые изменения в запрос и нажмите Execute.

Редактирование запроса

Теперь Fiddler отправит измененный запрос на сервер, и вы сможете проанализировать ответ.

Заключение

Fiddler является мощным инструментом для тестирования и отладки веб-приложений. С его помощью вы можете перехватывать, анализировать и изменять запросы, что позволяет глубже понять работу приложения и проверить его на устойчивость к различным сценариям. Надеемся, что эта статья помогла вам начать работу с Fiddler и будет полезной в вашей практике тестирования.

Если вам интересно углубить свои знания в сфере тестирования ПО, рекомендуем обратить внимание на онлайн-школу

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *