Этичный хакинг и тестирование на проникновение, информационная безопасность
Как анализировать POST запросы в веб-браузере
Современные веб-сайты становятся всё сложнее, используют всё больше библиотек и веб технологий. Для целей отладки разработчиками сложных веб-сайтов и веб-приложений потребовались новые инструменты. Ими стали «Инструменты разработчика» интегрированные в сами веб-браузеры:
- Chrome DevTools
- Firefox Developer Tools
Они по умолчанию поставляются с браузерами (Chrome и Firefox) и предоставляют много возможностей по оценке и отладке сайтов для самых разных условий. К примеру, можно открыть сайт или запустить веб-приложение как будто бы оно работает на мобильном устройстве, или симулировать лаги мобильных сетей, или запустить сценарий ухода приложения в офлайн, можно сделать скриншот всего сайта, даже для больших страниц, требующих прокрутки и т.д. На самом деле, Инструменты разработчика требуют глубокого изучения, чтобы по-настоящему понять всю их мощь.
Как включить «Режим отладки» на Android смартфоне 🤖
В предыдущих статьях я уже рассматривал несколько практических примеров использования инструментов DevTools в браузере:
- Статический анализ исходного кода веб-сайта в браузере
- Анализ динамически генерируемых с помощью JavaScript сайтов и сайтов с подгружаемым контентом (поиск ссылок на видео, изображения, на подгружаемый контент)
Эта небольшая заметка посвящена анализу POST запросов. Мы научимся просматривать отправленные методом POST данные прямо в самом веб-браузере. Научимся получать их в исходном («сыром») виде, а также в виде значений переменных.
Я буду показывать на примере сайта http://spys.one/en/free-proxy-list/ из статьи про прокси. (На самом деле, это простейший пример — в качестве более сложных примеров, попробуйте самостоятельно разобраться, например, в POST GMail при открытии и других действий с письмами).
По фрагменту исходного кода страницы видно, что данные из формы передаются методом POST, причём используется конструкция onChange=»this.form.submit();»:
30 50 100 200 300 500
Несмотря на необычность решения — отсутствует кнопка «Отправить», а отправка данных происходит при любом изменении поля , это вполне простой пример, поддающийся анализу статичного кода — то есть можно собрать имена всех ‘ов, собрать их значения и составить строку. Но я предлагаю познакомиться с намного более быстрым способом анализа.
Как увидеть данные, переданные методом POST, в Google Chrome
Итак, открываем (или обновляем, если она уже открыта) страницу, от которой мы хотим узнать передаваемые POST данные. Теперь открываем инструменты разработчика (в предыдущих статьях я писал, как это делать разными способами, например, я просто нажимаю F12):
Теперь отправляем данные с помощью формы.
Запустил Minecraft на КАЛЬКУЛЯТОРЕ
Переходим во вкладку «Network» (сеть), кликаем на иконку «Filter» (фильтр) и в качестве значения фильтра введите method:POST:
Как видно на предыдущем скриншоте, был сделан один запрос методом POST, кликаем на него:
- Header — заголовки (именно здесь содержаться отправленные данные)
- Preview — просмотр того, что мы получили после рендеренга (это же самое показано на странице сайта)
- Response — ответ (то, что сайт прислал в ответ на наш запрос)
- Cookies — кукиз
- Timing — сколько времени занял запрос и ответ
Поскольку нам нужно увидеть отправленные методом POST данные, то нас интересует столбец Header.
Там есть разные полезные данные, например:
- Request URL — адрес, куда отправлена информация из формы
- Form Data — отправленные значения
Пролистываем до Form Data:
Там мы видим пять отправленных переменных и из значения.
Если нажать «view source», то отправленные данные будут показаны в виде строки:
xpp=5xf2=0xf5=0
Вид «view parsed» — это вид по умолчанию, в котором нам в удобном для восприятия человеком виде показаны переданные переменные и их значения.
Как увидеть данные, переданные методом POST, в Firefox
В Firefox всё происходит очень похожим образом.
Открываем или обновляем нужную нам страницу.
Открываем Developer Tools (F12).
Отправляем данные из формы.
Переходим во вкладку «Сеть» и в качестве фильтра вставляем method:POST:
Кликните на интересующий вас запрос и в правой части появится окно с дополнительной информацией о нём:
Переданные в форме значения вы увидите если откроете вкладку «Параметры»:
Если вы хотите получить отправленные данные в виде строки, то вернитесь во вкладку «Заголовки» и нажмите кнопку «Изменить и снова отправить», в открывшейся области пролистните до «Тело запроса»:
Как вы уже поняли, здесь не только можно скопировать строку POST, но и отредактировать её и отправить запрос заново.
Другие фильтры инструментов разработчика
Для Chrome кроме уже рассмотренного method:POST доступны следующие фильтры:
Связанные статьи:
- Анализ динамически генерируемых с помощью JavaScript сайтов и сайтов с подгружаемым контентом (поиск ссылок на видео, изображения, на подгружаемый контент) (88.2%)
- lulzbuster – инструмент для быстрого поиска скрытых файлов и папок на сайтах (62.3%)
- Статический анализ исходного кода веб-сайта в браузере (60.3%)
- Аудит безопасности роутера SKYWORTH GN542VF — взламываем пароль не выходя из веб-браузера! (59.9%)
- Как использовать User Agent для атак на сайты (57.5%)
- Получение имён пользователей сайта методом перебора (RANDOM — 50.4%)
факультете информационной безопасности от GeekBrains? Комплексная годовая программа практического обучения с охватом всех основных тем, а также с дополнительными курсами в подарок. По итогам обучения выдаётся свидетельство установленного образца и сертификат. По этой ссылке специальная скидка на любые факультеты и курсы!
Источник: hackware.ru
Восемь секретов YouTube: управляем, смотрим, редактируем
Сервис YouTube, принадлежащий компании Google, — крупнейший видеохостинг в мире и третий по посещаемости веб-сайт после Facebook и Google. Между тем подавляющее большинство его посетителей просто просматривают или загружают видео, не используя и десятой части его возможностей. Поговорим о самых полезных функциях YouTube, которые пригодятся каждому.
1. Управляем с клавиатуры
О том, чтобы управлять воспроизведением видеороликов на YouTube при помощи клавиатуры, наверняка задумывались многие — особенно те, у кого дисплей большой, а клавиатура — беспроводная.
Элементарные органы управления находятся чисто интуитивно: это пробел для постановки на паузу и возобновления воспроизведения и стрелки курсора «налево» и «направо» для быстрой перемотки с шагом в пять секунд.
Но есть и другие кнопки, которые не всегда определишь «методом тыка». Вот они: стрелки «вверх» и «вниз» регулируют громкость; кнопка F разворачивает ролик на полный экран, а кнопка Esc снова сворачивает его; кнопка Home перезапускает видео с начала, а End «перематывает» его в самый конец.
Цифровые кнопки можно использовать для точного перехода к конкретному фрагменту видео. Если ролик стоит на паузе, то кнопки обозначают десятки процентов от начала записи: 0 — это самое начало, 5 — середина, то есть 50%, 9 — 90%, то есть почти конец.
2. Просматриваем «недоступные в вашей стране» ролики
Компания Google может блокировать просмотр отдельных видеороликов в некоторых странах по двум причинам: в связи с ограничениями, введёнными правообладателем, либо по запросу государственных органов.
В общем случае преодолеть такие ограничения можно, просто зайдя на YouTube через прокси-сервер с IP-адресом, не относящимся к вашей стране. Существуют и специальные плагины для браузеров, автоматически перебирающие доступные прокси-серверы (например, Stealthy).
Но можно поступить и проще. Подавляющее большинство заблокированных роликов до недавнего времени можно было посмотреть, просто скорректировав URL в адресной строке. К примеру, мы имеем адрес вида
https://www.youtube.com/watch?v=_broKmoem
Заменяем в этом адресе фрагмент «watch?v=» на «/v/», чтобы получился адрес вида
https://youtube.com/watch?v=_broKmoem
Наслаждаемся. К сожалению, в последнее время этот способ срабатывает далеко не всегда, поэтому есть и другой вариант. Возьмём ролик, заблокированный по требованию государственных органов:

Достаточно «скормить» этот адрес сервису для скачивания видео (например, Savefrom.net) — и «запретный» ролик можно загрузить на свой компьютер.
К слову, в этом нашем примере фигурирует совершенно безобидное — в силу непроходимой глупости автора — видео, и трудно представить, какими дебилами нужно считать сограждан, чтобы обращаться в Google с требованиями заблокировать подобную чепуху.
Если не срабатывает и этот способ, остаётся использовать прокси-серверы. Специально для YouTube существует сервис ProxFree, где можно выбрать страну расположения сервера и IP-адреса, ввести ссылку на заблокированный ролик на YouTube и посмотреть его, как если бы вы находились в Нидерландах, Франции или США. Доступно несколько вариантов настроек, в том числе отключение куки-файлов и удаление загруженных скриптов и объектов. Возможно, потребуется несколько раз нажать кнопку ProxFree, чтобы сервис подобрал подходящее сочетание серверов и IP-адресов.
3. Смотрим «живые» трансляции
Помимо заранее снятых и затем загруженных роликов, на YouTube существуют специальные каналы, по которым транслируются программы о событиях, происходящих в данный момент. Это могут быть передачи со спортивных соревнований, различных концертов, политических собраний, публичных лекций и прочих мероприятий.
Такие «живые» трансляции можно найти по адресу Live. На этой странице публикуются ссылки не только на уже идущие программы, но и на только планирующиеся передачи. Если вы залогинены в своём аккаунте на YouTube, то на основе анализа тематики ранее просмотренных роликов сервис автоматически предложит вам мероприятия, отвечающие вашим интересам.
4. VHS-фильтр
«Ностальгический» фильтр для желающих вспомнить время расцвета кассетных видеомагнитофонов. Достаточно добавить «https://www.computerra.ru/183536/vosem-sekretov-youtube-upravlyaem-smotrim-redaktiruem/» target=»_blank»]www.computerra.ru[/mask_link]
Лучшие инструменты для удаленной отладки
Перевод статьи «Top Remote Debugging Tools in 2020».
В том, что касается отладки, используемые инструменты играют очень важную роль. Они могут определить, насколько легко вы справитесь с решением проблемы в вашем коде.
Раньше процесс отладки был довольно непростым занятием. Не имея надежных отладчиков, разработчики прибегали к разным ухищрениям.
Например, при отладке мобильного приложения или сайта вы могли воспроизвести проблему на своем компьютере, а затем использовать инструменты разработчика Chrome (или подобные им).
К сожалению, эти хаки были малоэффективными: вам приходилось постоянно переключаться с десктопа на мобильное устройство и обратно.
К счастью, сегодня у нас уже есть хороший набор инструментов, позволяющий искать ошибки в программах, запущенных на разных устройствах, так же эффективно, как если бы они были запущены на нашей локальной машине. И что лучше всего, эти инструменты для дистанционной отладки предназначены не только для дебаггинга: они также помогают в командной разработке программ.
В этой статье мы собрали лучшие инструменты, которые вы можете смело использовать для дистанционной отладки кода.
Rookout
Rookout — это инновационный инструмент, добавляющий гибкости процессу дебаггинга. Его можно использовать для отладки JVM-, Node.JS- и Python-кода как в бессерверных, так и в контейнеризованных приложениях.
Красота Rookout в том, что он позволяет быстро и безопасно проводить отладку как в стейджинге, так и в продакшене. С этим инструментом отладка перестает быть длительным и сложным занятием, поскольку он предоставляет разработчику все необходимые данные за считанные секунды.
Эти данные позволяют разработчикам разобраться в возникших проблемах и исправить их, не прибегая к написанию кода, повторному развертыванию или перезапуску приложения.
При помощи Rookout можно проводить удаленный дебаггинг приложений, созданных на Electron. Интерфейс этого инструмента отладки позволяет разработчикам устанавливать в проблемных приложениях брейкпоинты, на которых выполнение приложений не будет останавливаться.
Также этот инструмент дает вам полное представление о производительности вашего приложения, что позволяет отслеживать проблемы и вносить соответствующие исправления.
Достоинства
- Легкий старт.
- Беспроблемная Git-интеграция.
- Интеграция с другими инструментами, включая Slack, Datadog, Sentry, Sumologic и др.
- Возможность отслеживать взаимодействия и делиться экраном.
Visual Studio Code
Visual Studio Code это всегда удачный выбор для каждого разработчика, работающего с .NET. В нем большое количество функционала, облегчающего как локальную, так и дистанционную отладку. С помощью этого инструмента вы сможете устанавливать условные брейкпоинты и логпоинты. Также Visual Studio Code дает возможность проверять переменные.
Для удаленного дебаггинга вам понадобится установить пакет расширений. В нем содержатся три расширения, предоставляющие весь необходимый функционал для запуска, мониторинга и ускорения цикла удаленной отладки.
Достоинства
- Можно использовать бесплатно.
- Кроссплатформенность.
- Очень активное сообщество, за которым стоит Microsoft.
- Интеграция Git.
- Поддержка широкого спектра расширений, большие возможности для кастомизации.
- Прекрасная автоматическая проверка ошибок.
RubyMine
RubyMine — это мощная и умная кроссплатформенная IDE, созданная компанией JetBrains. Она позволяет отлаживать код, написанный с помощью Ruby on Rails, CoffeeScript, JavaScript, CSS, ERB, HAML и пр. Благодаря встроенному отладчику с продвинутым функционалом вы сможете легко устанавливать брейкпоинты и определять условия.
В RubyMine можно осуществлять отладку приложений на удаленных устройствах двумя способами. Во-первых, можно добавить удаленный интерпретатор Ruby и определить соответствие между локальными и удаленными файлами проекта, а затем запустить сессию дебаггинга.
Или же можно запустить приложение на удаленном устройстве, а затем добавить интерпретатор Ruby. После этого следует заняться определением соответствия между файлами и привязкой к запущенному процессу.
Второй вариант особенно полезен при отладке приложения, которое вы не можете запустить непосредственно из вашей IDE.
Еще одна примечательная особенность отладчика в RubyMine — возможность запускать несколько процессов отладки одновременно.
Достоинства
- В основе RubyMine лежит надежная платформа IntelliJ IDEA.
- Хорошая поддержка связанных с Ruby фреймворков и технологий.
- Довольно хороша функция автодополнения.
- Хорошая интеграция с Git.
- Поддержка многочисленных плагинов.
- Гладкая интеграция с Rails.
PyCharm
PyCharm — это еще одна надежная IDE, разработанная той же JetBrains, только уже для Python. Этот умный редактор кода оснащен и функционалом для удаленной отладки. С его помощью вы можете запускать, тестировать, отлаживать и разворачивать приложения на виртуальных машинах и удаленных хостах.
К отличительным особенностям PyCharm можно отнести продуманное автодополнение, прекрасную поддержку рефакторинга и беспроблемную интеграцию с такими инструментами как Django, IPython, Docker, Vagrant и Pytest.
Кроме того, PyCharm это потрясающий инструмент для кроссплатформенной разработки. Помимо Python, эта IDE поддерживает JavaScript, Cython, CoffeeScript, TypeScript SQL, HTML/CSS, Node.js, AngularJS.
Достоинства
- Прекрасно реализованная возможность подключения нескольких баз данных для запросов внутри IDE.
- Легкий поиск и установка пакетов.
- Автоматическое дополнение кода.
- Визуализация Git.
- Показывает ошибки в коде «на лету» и облегчает их исправление.
Отладчик GDB
Для отладки приложений на другой машине может эффективно использоваться GDB (отладчик проекта GNU). Вам нужно будет запустить на хосте утилиту GDB, а на машине, где нужно производить отладку, — gdbserver. Они будут коммуницировать друг с другом по сети с использованием специального протокола.
Ест два варианта удаленной отладки при помощи GDB/gdbserver. Первый предполагает использование удаленного GDB-сервера для автоматической сборки и загрузки кода приложения на удаленную машину. Второй вариант — использовать GDB там, где у вас будут исполняемые файлы.
Достоинства
- Простота использования.
- Кроссплатформенность и поддержка большого количества языков.
- Эффективность при анализе дампа памяти.
Eclipse
Eclipse — это широко известная IDE для разработки на Java. Также поддерживает Python, Ruby, C# и PHP. Eclipse IDE оснащена продвинутым функционалом для разработки и отладки, что делает ее универсальным инструментом.
Одной из наиболее впечатляющих особенностей Eclipse является перспектива отладки (в Eclipse «перспектива» — особая конфигурация платформы). В ней разработчик может просматривать информацию о брейкпоинтах, переменных, стеках вызова и потоках.
Используя Eclipse, вы можете шаг за шагом исследовать выполнение программы, приостанавливать и возобновлять потоки, оценивать выражения и проверять значения. Конфигурация удаленной отладки в Eclipse довольно простая и понятная, что добавляет этому инструменту популярности среди разработчиков.
Достоинства
- Автоматическое дополнение кода.
- Хорошая поддержка рефакторинга.
- Отличная навигация.
- Помощь в проверке синтаксиса для написания чистого и эффективного кода.
- Интеграция Git.
Отладчик Zend Studio
Zend Studio — это профессиональная IDE, поддерживающая редактирование, тестирование и отладку PHP-кода.
Zend Studio тесно интегрирована с Zend Server, благодаря чему создается удобная система, облегчающая анализ проблем, обнаруженных в стейджинге или продакшене.
Также Zend предоставляет расширение для отладки PHP-скриптов, которое пользователи могут установить на веб-серверах. Использовать Zend для отладки относительно просто: вам нужно лишь открыть исходный код, установить брейкпоинты в проекте и запустить сессию дебаггинга.
Удаленная отладка в Zend может осуществляться тремя способами. Можно использовать функции Debug URL или Debug as Web Page в Zend Studio. Или же можно использовать панель инструментов Zend в браузере Firefox или Chrome.
Достоинства
- Возможность просеивать файлы проекта при помощи всего нескольких нажатий клавиш.
- Высокая эффективность и скорость работы.
- Поддержка обширного сообщества.
- Отлично подходит для создания и отладки PHP-приложений.
- Исключительная гибкость.
WinPdb
WinPdb — это прекрасный отладчик для Python, хорошо работающий в системах Windows, Mac OS и Linux. Совместим с и Python 2.x, и с Python 3.x.
Этот инструмент отладки поддерживает «умные» брейкпоинты, модификацию пространства имен, множественные потоки, встроенную отладку и шифрованную коммуникацию. Для удаленного дебаггинга вам нужно будет скопировать rpdb2.py (отладчик Winpdb с интерфейсом командной строки) на удаленную машину. Подробнее о процессе отладки с применением WinPdb можно прочесть здесь.
Достоинства
- Поддержка многопоточной отладки.
- Шифрованная коммуникация для удаленного дебаггинга.
- Легкий в использовании GUI с брейкпоинтами, проверкой стека и переменных.
Использование инструментов, о которых мы рассказали в этой статье, способно значительно улучить ваш опыт отладки приложений. Удачного кодинга!
Источник: techrocks.ru