
Расширение для браузера Chrome/Firefox, которое показывает предупреждения об отражённых параметрах запроса, отображает ссылки архива Wayback для текущего пути, показывает скрытые элементы и включает отключённые элементы.
Это расширение для Chrome/Firefox, которое может делать следующее:
', " и < без кодирования.Xnl Reveal в DevTools браузера.Xnl Reveal в DevTools браузера).Возможность показывать предупреждение об отражённых параметрах была вдохновлена комментарием @renniepak к 42-му эпизоду Critical Thinking - Bug Bounty Podcast, в котором он упомянул, что у него есть собственное расширение для браузера, сообщающее о любых отражениях.
Количество найденных отражённых параметров отображается зелёным значком на иконке расширения. Однако если какое-либо из имён отражённых параметров относится к категориям, описанным в исследовании «подозрительных» параметров от @Jhaddix и @G0LDEN_infosec, значок станет красным. Если есть какие-либо «подозрительные» параметры, категории также будут показаны в выводе на вкладке DevTools Xnl Reveal, в предупреждении и в буфере обмена, например boringParameter, query [XSS], path [LFI/RFI | SSRF | XSS] (это та же идентификация «подозрительных» параметров, что и в моём расширении GAP для Burp).
Возможность показывать скрытые элементы и включать отключённые была вдохновлена этим твитом от Critical Thinking - Bug Bounty Podcast, и изначально я реализовал это в виде закладок браузера.
Обычно иконка расширения отображается на чёрном фоне
, но если иконка появляется на красном фоне
, это указывает на то, что Wayback CDX Server API, вероятно, недоступен. Даже если основные функции отключены, расширение будет проверять статус API каждые 10 минут.
ВАЖНО: При использовании таких инструментов, как waymore, waybackurls или gau, для получения URL-адресов из архива Wayback используется CDX Server API. Если API недоступен, вы не будете получать данные из Wayback Machine, только из других источников. Кроме того, только waymore сообщит вам о наличии проблемы.
Склонируйте этот репозиторий на свою машину и следуйте инструкциям ниже, в зависимости от того, хотите ли вы установить расширение в браузере Chrome или Firefox:
Откройте Менеджер расширений в Chrome: Меню «кебаб» (три вертикальные точки) -> Расширения -> Управление расширениями
Если режим разработчика не включён, включите его, нажав переключатель в правом верхнем углу.
Теперь нажмите кнопку Load unpacked в верхнем левом углу.
Перейдите в каталог, где находится папка Xnl Reveal, и выберите её.
Расширение загружено. Вы можете нажать на иконку расширения на панели инструментов, а затем на иконку булавки, чтобы закрепить Xnl Reveal на панели инструментов.
ВАЖНО: При использовании расширений Firefox вам придётся загружать его каждый раз при открытии Firefox. К сожалению, я не могу добавить его в магазин Firefox, чтобы этого избежать, поскольку для этого требуется Manifest v3. Xnl Reveal должен использовать Manifest v2 (разве что кто-то другой сможет разобраться, потому что у меня не получилось), у которого меньше ограничений безопасности, что позволяет расширению работать.
Перейдите на about:debugging в новой вкладке браузера.
Нажмите на заголовок This Firefox в левой части страницы.
Нажмите кнопку Load Temporary Add-on... в разделе Temporary Extensions.
Перейдите в папку Firefox из скачанного репозитория, выберите любой файл и нажмите Open.
Расширение загружено. Вы можете нажать на иконку расширения на панели инструментов, затем на значок шестерёнки настроек и выбрать Pin to Toolbar.
Xnl Reveal на панели инструментов и выбрать Options, вы попадёте на страницу опций.Xnl Reveal на панели инструментов и выбрать Manage Extension, затем перейти на вкладку Options, чтобы увидеть страницу опций.
У вас есть следующие опции:
Canary token — когда отправляются запросы для проверки отражения параметров запроса, это значение параметра, которое используется и проверяется.Check for reflection of ' " < — когда отправляются запросы для проверки отражения параметров запроса, строка '",xnl добавляется в конец Canary token. Если любой из этих символов отражается без кодирования, это также будет сообщено. Если передача этих символов приводит к тому, что Canary token вообще не отражается (возможно, WAF блокирует <), то будет отправлен ещё один запрос только с Canary token.Show alert box for reflections — если эта опция выбрана и в меню Popup выбрано Show query parameter reflections (см. ниже), будет показано браузерное предупреждение с подробностями о любых отражённых параметрах запроса.Copy reflection text to clipboard — если эта опция выбрана и в меню Popup выбрано Show query parameter reflections (см. ниже), при обнаружении отражённых параметров сведения помещаются в буфер обмена пользователя, а также записываются на вкладку DevTools (и в предупреждение, если запрошено). Это означает, что как только вы увидите предупреждение или сведения на вкладке DevTools, вы можете перейти в свои заметки и сразу вставить детали. Если вы нажмёте на логотип Xnl Reveal на панели инструментов, вы увидите всплывающее меню.
У вас есть следующие настройки:
ENABLE REVEAL — если этот флажок не установлен, расширение ничего не делает. Если установлен, оно будет выполнять определённые действия на посещаемых веб-страницах (если они в скоупе), в зависимости от заданных других опций.Show query parameter reflections — если этот флажок установлен, то при посещении веб-страницы с любыми параметрами запроса для каждого параметра выполняется фоновый запрос, поочерёдно заменяя каждый на Canary token со страницы опций. Если токен найден в ответе для любого из параметров, на вкладку DevTools Xnl Reveal записывается сообщение с URL-адресом и всеми параметрами этой страницы, которые были отражены. Если соответствующие опции выбраны, эти сведения также могут быть показаны в браузерном предупреждении и скопированы в буфер обмена пользователя. Расширение также покажет значок с количеством найденных отражений.CHARSET IS NOT SPECIFIED IN RESPONSE!, если кодировка явно не задана для HTML-страницы. Это может означать, что XSS может быть проще с помощью трюка, описанного в этом блоге.Write Wayback endpoints to DevTools — если этот флажок установлен, то для каждого посещённого в браузере адреса/пути будет получено до 1000 конечных точек из архива Wayback и записано на вкладку DevTools Xnl Reveal. После того как адрес/путь был отправлен в Wayback API, он не будет отправляться снова, пока не будет нажата кнопка .Если щёлкнуть правой кнопкой мыши по веб-странице, появится контекстное меню браузера. Например, если вы находитесь на example.com и в Options выбран пункт Whitelist, вы увидите следующее:
Эти опции доступны, даже если параметр ENABLE REVEAL в Popup Menu не выбран. Доступны следующие опции:
Get wayback endpoints — если нажать на этот пункт, откроется новая вкладка, содержащая конечные точки архива Wayback для домена окна, на котором был выполнен клик. На это не влияют никакие другие настройки, и это можно запустить, даже если расширение не включено.Show hidden elements — покажет все скрытые элементы на текущей странице так же, как и опция Show hidden elements, но расширение не должно быть включено.Enable disabled elements — включит все отключённые элементы на текущей странице так же, как и опция Enable disabled elements, но расширение не должно быть включено.Show Google cache version — если нажать на этот пункт, откроется новая вкладка с версией текущей страницы из Google Cache. Даже если веб-сайт больше недоступен, Google хранит копию в своих архивах, и вы всё ещё можете получить доступ к кэшированной странице.Show FOFA domain search — если нажать на этот пункт, откроется новая вкладка с FOFA, показывающая результаты поиска для domain="{TARGET}", где {TARGET} — домен активной вкладки.Create word list — если нажать на этот пункт, из содержимого страницы будет создан список слов и отображён в новой вкладке.Сообщения об отражённых параметрах и конечных точках Wayback ранее записывались в консоль, но теперь они записываются в отдельную вкладку в DevTools браузера. Здесь вы можете:
Filter messages... — введите любой текст для фильтрации сообщений в реальном времени, что упрощает поиск конкретных отражений или результатов Wayback среди сохранённых сообщений.Copy All Messages — скопируйте все сообщения в буфер обмена, чтобы вставить их в свои заметки!Copy All URLs — извлекает все уникальные URL-адреса из текущих видимых сообщений (с учётом активного фильтра) и копирует их в буфер обмена по одному на строку. Это полезно для быстрого сбора всех URL-адресов из отражений и результатов Wayback для дальнейшего тестирования.Clear Messages and Cache — удаляет все сообщения с вкладки и из локального хранилища. Также будут очищены сведения о том, какие конечные точки Wayback уже были найдены ранее.
Это расширение для браузера не будет идеальным!
Иногда изменение кода может сломать страницу. Если у вас возникла проблема, снятие определённой настройки во всплывающем меню перезагрузит страницу, и, возможно, всё снова будет в порядке, но вы просто не сможете проверить.
В определённых ситуациях на странице Manage extension также могут отображаться некоторые ошибки.
Если вы вручную запускаете опцию из контекстного меню и ничего не происходит, возможно, вам нужно обновить страницу, на которой вы пытаетесь запустить опцию, и попробовать снова.
Create word list в версию для Firefox.Error copying to clipboard (NotAllowedError: Document is not focused.)true, false, 1 и т.д., так как будет много ложных срабатываний.Если вы столкнулись с какими-либо проблемами или у вас есть идеи по улучшению, пожалуйста, не стесняйтесь создавать issue на Github. Если есть проблема, будет полезно указать точный URL-адрес, на котором вы находились, и любые ошибки консоли.
Удачи и хорошей охоты!
Если вы действительно любите этот инструмент (или любые другие) или они помогли вам найти отличный баунти, подумайте о том, чтобы КУПИТЬ МНЕ КОФЕ! ☕ (Мне не помешает кофеин!)
🤘 /XNL-h4ck3r
Xnl RevealParam blacklist — это список имён параметров через запятую (например, param1,param2), которые вы не хотите заменять на canary token для проверки отражения. Это может быть полезно, когда тестирование определённых параметров вызывает проблемы, например, выход из аккаунта.Check delay — когда страница загружается, в зависимости от настроек расширение попытается показать скрытые элементы и включить отключённые. Однако иногда части страницы загружаются динамически, и их нет в исходном ответе. Расширение попытается показать и включить их снова через эту задержку (в секундах) после первоначальной загрузки страницы.Wayback RegEx — если выбрана настройка записи конечных точек архива Wayback, то на вкладке DevTools будут отображаться только те конечные точки Wayback, которые соответствуют введённому RegEx. Если поле оставить пустым, будет возвращено до 1000 конечных точек Wayback. ВАЖНО: Любой введённый RegEx будет обрабатываться без учёта регистраKNOXSS API Key — введите ваш API-ключ KNOXSS. Если ключ сохранён и в меню Popup включено Show query parameter reflections, то при обнаружении отражения URL автоматически отправляется в KNOXSS API. Заголовок X-API-KEY устанавливается с сохранённым ключом, а cookie текущей страницы передаются в качестве заголовков авторизации. Ответ KNOXSS API записывается на вкладку DevTools Xnl Reveal. Запрос к API выполняется асинхронно, поэтому не блокирует взаимодействие со страницей.Extension Scope:
Whitelist или Blacklist — это определяет, для каких сайтов будут выполняться проверки отражения параметров и/или получение конечных точек Wayback. В зависимости от выбранной опции хост должен либо содержать, либо не содержать введённое слово для обработки.Host match word to add — введите слово, которое есть в имени хоста (или полное имя хоста), которое вы хотите добавить в белый или чёрный список, и нажмите кнопку Add, чтобы добавить его в список области охвата. Например, если вы хотите запускать расширение только на страницах Redbull, просто добавьте redbull и установите белый список.Add — добавить введённое слово в список области охвата.Remove selected — удалить выбранное слово(а) из списка области охвата.Clear all — удалить все слова из списка области охвата.Save — если вы изменили какие-либо опции, нажмите эту кнопку, чтобы сохранить их для последующего использования.Clear Saved URLs/Params — если расширение ищет отражённые параметры запроса, вы не хотите получать предупреждения об одних и тех же комбинациях URL/Параметр, поэтому те, о которых уже сообщалось, сохраняются во избежание этого. Однако если вы хотите удалить память о них, вы можете нажать эту кнопку, чтобы удалить их. Аналогично, мы не хотим повторно отправлять одни и те же запросы в архив Wayback, поэтому они также сохраняются, но могут быть очищены при нажатии этой кнопки.Clear Saved URLs/ParamsShow hidden elements — если этот флажок установлен, будут показаны все скрытые элементы (кроме img, span и div). Они будут отображаться с красной рамкой и красной меткой с дополнительными сведениями. Иногда, если страница динамическая, элементы могут не отображаться.Enable disabled elements — если этот флажок установлен, будут показаны все отключённые элементы (кроме img, span и div). Они будут отображаться с красной рамкой и красной меткой с дополнительными сведениями. Иногда, если страница динамическая, элементы могут не отображаться. Вы всегда можете нажать кнопку Run Now, чтобы применить изменения к текущей загруженной странице.{Add|Remove} {HOST} {from|to} {whitelist|blacklist} — в зависимости от того, есть ли имя хоста текущей вкладки в списке области охвата и выбрана ли опция белого или чёрного списка, вы получите пункт меню для добавления/удаления. Например, если вы находитесь на https://www.redbull.com/gb-en/, в Options выбран Blacklist, а redbull.com отсутствует в списке области охвата, вы увидите пункт контекстного меню Add redbull.com to blacklist. ВАЖНО: Если пункт меню не показывает правильный хост, возможно, потребуется обновить вкладку.