
Инструмент на Python, используемый для обнаружения конечных точек, потенциальных параметров, целевого списка слов для заданной цели и секретов.
Это инструмент для обнаружения конечных точек, потенциальных параметров, создания целевого списка слов и поиска секретов для заданной цели. Он может находить их следующими способами:
waymore -mode R, а также запрос URL-адресов из waymore.txt и исходных URL-адресов из waymore_index.txt — см. README.md waymore)Скрипт на Python основан на возможностях поиска ссылок моего расширения Burp GAP. В качестве отправной точки я взял замечательный инструмент LinkFinder от Gerben Javado и использовал регулярные выражения для поиска ссылок, но с дополнительными улучшениями, чтобы находить ещё больше.
xnLinkFinder поддерживает Python 3.
Установите xnLinkFinder в стандартное (глобальное) окружение Python.```bash
pip install xnLinkFinder
ИЛИ```bash
pip install git+https://github.com/xnl-h4ck3r/xnLinkFinder.git -v
Вы можете обновить с помощью```bash pip install --upgrade xnLinkFinder
### pipx
Быстрая настройка в изолированном окружении Python с помощью [pipx](https://pypa.github.io/pipx/)```bash
pipx install git+https://github.com/xnl-h4ck3r/xnLinkFinder.git
ПРИМЕЧАНИЕ: Чтобы извлечь ссылки из PDF-файлов, вы можете установить pdftotext в вашей системе. Вы можете установить его с помощью sudo apt install -y poppler-utils в Linux или brew install poppler в macOS. Если у вас не установлен pdftotext, xnLinkFinder будет использовать библиотеку Python pypdf. Если текст не найден (например, для отсканированных PDF-файлов), он попытается использовать ocrmypdf, если он установлен (например, sudo apt install -y ocrmypdf). Использование pdftotext и ocrmypdf обычно даёт гораздо лучшие результаты, чем только pypdf.
| ----------- | -------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| -i | --input | Ввод: URL, текстовый файл со списком URL, директория с файлами для поиска, выходной файл Burp XML, выходной файл ZAP, CSV-файл Caido, JSON-файл HAR или один файл для поиска содержимого. |
| -o | --output | Файл для сохранения вывода ссылок, включая путь при необходимости (по умолчанию: output.txt). Если установлено значение cli, вывод осуществляется только в STDOUT. Если файл уже существует, он будет дополнен (с дедупликацией), если не передан параметр -ow. |
| -op | --output-params | Файл для сохранения вывода потенциальных параметров, включая путь при необходимости (по умолчанию: parameters.txt). Если установлено значение cli, вывод осуществляется только в STDOUT (но не перенаправляется в другую программу). Если файл уже существует, он будет дополнен (с дедупликацией), если не передан параметр -ow. |
| -owl | --output-wordlist | Файл для сохранения вывода целевого списка слов, включая путь при необходимости (по умолчанию: вывод списка слов не производится). Если установлено значение cli, вывод осуществляется только в STDOUT (но не перенаправляется в другую программу). Если файл уже существует, он будет дополнен (с дедупликацией), если не передан параметр . |
| -oo | --output-oos | Файл для сохранения вывода ссылок вне области сканирования, включая путь при необходимости (по умолчанию: вывод OOS не производится). Если установлено значение , вывод осуществляется только в STDOUT (но не перенаправляется в другую программу). Если файл уже существует, он будет дополнен (с дедупликацией), если не передан параметр . |
| -os | --output-secrets | Файл для сохранения любых секретов, найденных в ответах (в формате JSON), включая путь при необходимости (по умолчанию: вывод секретов не производится). Если файл уже существует, секреты будут объединены, если не передан параметр . Секреты группируются по типу и значению с массивом источников, где каждый был найден. |
| -ow | --output-overwrite | Если выходной файл уже существует, он будет перезаписан вместо дополнения. |
| -sp | --scope-prefix | Любые найденные ссылки, начинающиеся с , будут дополнены префиксом из доменов области сканирования в выводе вместо исходной ссылки. Если переданное значение является именем существующего файла, будет использован этот файл, в противном случае — строковый литерал. |
| -spo | --scope-prefix-original | Если передан аргумент , то этот параметр определяет, будет ли исходная ссылка, начинающаяся с , также включена в вывод (по умолчанию: false) |
| -spkf | --scope-prefix-keep-failed | Если передан аргумент , то этот параметр определяет, будет ли ссылка с префиксом сохранена в выводе, если она вернула 404 или произошло исключение RequestException (по умолчанию: false) |
| -sf | --scope-filter | Фильтрует выходные ссылки, включая только те, чей домен находится в указанной области сканирования. Если переданное значение является именем существующего файла, будет использован этот файл, в противном случае — строковый литерал. Этот аргумент теперь обязателен, если вводом является домен/URL (или файл с доменами/URL), чтобы предотвратить сканирование сайтов, не входящих в область, и избежать вводящих в заблуждение результатов. |
| -c | --cookies † | Добавляет cookies для передачи с HTTP-запросами. Передавайте в формате |
| -H | --headers † | Добавляет пользовательские заголовки для передачи с HTTP-запросами. Передавайте в формате |
| -ra | --regex-after | RegEx для фильтрации найденных конечных точек перед выводом (например, ). Если совпадение найдено, ссылка выводится. |
| -d | --depth † | Уровень глубины поиска. Например, если передано значение 2, то все первоначально найденные ссылки будут снова проверены на наличие дополнительных ссылок (по умолчанию: 1). Этот параметр игнорируется для файлов Burp, ZAP, Caido и HAR, так как они могут быть огромными и потреблять много памяти. Также рекомендуется использовать аргумент () для обеспечения возможности запроса к ссылкам, найденным без домена. |
| -p | --processes † | Базовая многопоточность используется при получении запросов для URL или файла со списком URL (не для файлов Burp, ZAP, Caido или HAR). Этот аргумент определяет количество используемых процессов (потоков) (по умолчанию: 25) |
| -rl | --rate-limit † | Максимальное количество запросов в секунду (по умолчанию: 0, без ограничения). Это помогает не перегружать целевой сервер. |
| -x | --exclude | Дополнительные исключения ссылок (к списку в ) в виде списка, разделённого запятыми, например |
| -orig | --origin | Нужно ли включать источник ссылки в вывод. Отображается как (по умолчанию: false) |
| -prefixed | | Нужно ли показывать, какие ссылки были дополнены префиксом в выводе. Отображает после ссылки и источника (по умолчанию: false) |
| -xrel | --exclude-relative-links | По умолчанию любые ссылки в результатах, начинающиеся с или , включаются. Если используется этот аргумент, такие относительные ссылки не будут добавлены. |
| -t | --timeout † | Сколько секунд ждать ответа от сервера перед тайм-аутом (по умолчанию: 10 секунд) |
| -r | --retries † | Количество повторных попыток запроса после сбоя (тайм-аут, ошибка соединения и т.д.). Ограничено 5 попытками (по умолчанию: 0) |
| -inc | --include | Включать входные () ссылки в вывод (по умолчанию: false) |
| -u | --user-agent † | Какие User Agents использовать для получения ссылок, например . Возможные значения: , , и . Также есть , и , которые являются подмножествами , но могут использоваться отдельно. |
| -uc | --user-agent-custom † | Пользовательская строка User Agent для всех запросов. Переопределяет аргумент /. Может использоваться, когда программа требует определённый заголовок User Agent для идентификации, например. |
| -insecure | † | Отключать ли проверку сертификатов TLS при выполнении запросов (по умолчанию: false) |
| -s429 | † | Остановить, когда более 95% ответов возвращают 429 Too Many Requests (по умолчанию: false) |
| -s403 | † | Остановить, когда более 95% ответов возвращают 403 Forbidden (по умолчанию: false) |
| -sTO | † | Остановить, когда более 95% запросов превышают тайм-аут (по умолчанию: false) |
| -sCE | † | Остановить, когда более 95% запросов имеют ошибки соединения (по умолчанию: false) |
| -m | --memory-threshold | Пороговый процент использования памяти. Если использование памяти машины превышает порог, программа будет остановлена и завершена корректно, прежде чем закончится память (по умолчанию: 95) |
| -mfs | --max-file-size † | Максимальный размер файла (в байтах) для проверки, если -i указывает на директорию. Если размер файла превышает указанный, он будет проигнорирован (по умолчанию: 500 МБ). Значение 0 означает, что ни один файл не будет проигнорирован независимо от размера. |
| -mrs | --max-response-size † | Максимальный размер ответа (в МБ) для загрузки. Ответы, превышающие этот размер, будут пропущены (по умолчанию: 100 МБ). |
| -fp | --forward-proxy † | Для активного поиска ссылок с URL (или файлом URL) повторно выполняйте запросы через прокси, например Burp или Caido, например . |
| -rp | --request-proxy | Прокси для запросов. Может быть строкой прокси (например, , ) или файлом со списком прокси (по одному на строку, случайный выбор). |
| | --heap | Делать ли снимок heap посещённых URL и извлекать ссылки из памяти браузера. Это займёт больше времени, но может обнаружить динамически генерируемые ссылки, которые может пропустить стандартный статический анализ (требуется установка Playwright). |
| -ro | --readable-only | Если передан, из HTML-ответов/файлов будет извлекаться только читаемый человеком текст с помощью BeautifulSoup перед поиском ссылок. Это исключает содержимое тегов , , и . |
| -ascii-only | | Будут ли ссылки и параметры добавляться только в том случае, если они содержат только символы ASCII. Это может быть полезно, когда вы знаете, что цель, скорее всего, использует символы ASCII, и по какой-то причине получаете много ложных срабатываний из бинарных файлов. |
| -mtl | --max-time-limit | Максимальное время работы (в минутах) до остановки (по умолчанию: 0). Если передано 0, ограничение отсутствует. |
| | --config | Путь к YML-файлу конфигурации. Если не передан, ищется файл в каталоге по умолчанию, обычно . |
| -nwlpl | --no-wordlist-plurals | При нахождении слов для целевого списка слов по умолчанию добавляются новые слова, если есть слово в единственном числе от множественного, и наоборот. Если используется этот аргумент, этот процесс не выполняется. |
| -nwlpw | --no-wordlist-pathwords | По умолчанию любые слова из путей, найденные в ссылках, обрабатываются для целевого списка слов. Если используется этот аргумент, они не будут обработаны. |
| -nwlpm | --no-wordlist-parameters | По умолчанию любые параметры, найденные в ссылках, обрабатываются для целевого списка слов. Если используется этот аргумент, они не будут обработаны. |
| -nwlc | --no-wordlist-comments | По умолчанию любые комментарии на страницах обрабатываются для целевого списка слов. Если используется этот аргумент, они не будут обработаны. |
| -nwlia | --no-wordlist-imgalt | По умолчанию любые атрибуты 'alt' изображений обрабатываются для целевого списка слов. Если используется этот аргумент, они не будут обработаны. |
| -nwld | --no-wordlist-digits | Исключает любые слова, содержащие цифры, из целевого списка слов. |
| -nwll | --no-wordlist-lowercase | По умолчанию любое слово, добавленное с заглавными буквами, также добавляется в нижнем регистре. Если используется этот аргумент, слова в нижнем регистре добавляться не будут. |
| -wlml | --wordlist-maxlen | Максимальная длина слов, добавляемых в целевой список слов, исключая формы множественного числа (по умолчанию: 0 - без ограничения) |
| -swf | --stopwords-file | Файл дополнительных стоп-слов (в дополнение к "stopWords" в YML-файле конфигурации), используемых для исключения слов из целевого списка слов. Стоп-слова используются в обработке естественного языка, и разные списки можно найти в разных библиотеках. В зависимости от цели вы можете добавлять слова на разных языках. |
| -brt | --burpfile-remove-tags | Когда ввод, переданный с , является файлом Burp, пользователю интерактивно задаётся вопрос, хочет ли он удалить ненужные теги из этого файла (иногда в XML-файлах Burp возникает проблема, которую часто можно решить удалением ненужных тегов, что также уменьшит размер файла). Если вы используете xnLinkFinder в скрипте, вы не хотите прерываться для ввода пользователя, поэтому вы можете установить это, передав этот аргумент со значением или . ПРИМЕЧАНИЕ: это необратимое изменение файла. |
| -all | --all-tlds | Будут возвращены все найденные ссылки, даже если TLD не является распространённым. Это может привести к большому количеству ложных срабатываний, когда имена переменных и т.п. также могут быть возможными реальными доменами. По умолчанию возвращаются только ссылки, имеющие TLD из списка распространённых TLD ( в ). |
| -cl | --content-length | Показывать Content-Length ответа при сканировании. |
| -nb | --no-banner | Скрывает баннер инструмента. |
| -v | --verbose | Подробный вывод |
| -vv | --vverbose | Повышенная подробность вывода |
| | --version | Показать номер текущей версии. |
| -h | --help | показать справку и выйти |† НЕ ПРИМЕНИМО ДЛЯ ВВОДА ПАПКИ, BURP XML, ZAP, CAIDO CSV ИЛИ HAR ФАЙЛОВ
Файл config.yml (обычно в ~/.config/xnLinkFinder/) содержит настраиваемые ключи:
linkExclude – список строк через запятую (например, .css,.jpg,.jpeg), с которыми сравниваются все ссылки. Если ссылка содержит любую из этих строк, она исключается из вывода. Если вход — папка, имена файлов проверяются по этому списку.contentExclude – список строк через запятую (например, text/css,image/jpeg,image/jpg), с которыми сравниваются заголовки Content-Type всех ответов. Ответы с такими типами содержимого исключаются и не проверяются на наличие ссылок.fileExtExclude – список строк через запятую (например, .zip,.gz,.tar), с которыми сравниваются все файлы в режиме папки. Если файл имеет одно из этих расширений, он не будет просканирован на ссылки. Также в обычном режиме, если в ответе нет заголовка content-type для проверки исключений, будет проверяться наличие этих расширений в конце URL, чтобы решить, искать ли ссылки.regexFiles – список типов файлов через символ | (например, php|php3|php5). Используется в регулярном выражении поиска ссылок, когда находятся неочевидные ссылки, но интересные типы файлов, которые вы хотите выделить. Если добавляете в этот список, не забудьте экранировать точки для корректного регулярного выражения, например, .† ЕСЛИ ЭТИ НАСТРОЙКИ НЕ НАЙДЕНЫ В ФАЙЛЕ КОНФИГУРАЦИИ, ПО УМОЛЧАНИЮ ОНИ БУДУТ True
xnLinkFinder -i target.com -sf target.com
### Поиск ссылок с конкретной цели - Подробно
В идеале укажите префикс области (`-sp`) с основным доменом (включая схему) и фильтр области (`-sf`) для фильтрации результатов только по релевантным доменам (это может быть файл или список доменов в области). Также вы можете передать куки и пользовательские заголовки, чтобы гарантировать поиск ссылок, доступных только авторизованным пользователям.
Указание User Agent (`-u desktop mobile`) сначала выполнит поиск всех ссылок с использованием десктопных User Agent, а затем повторит попытку с мобильными user agent. Могут существовать определенные конечные точки, которые зависят от переданного user agent. Указание значения глубины (`-d`) приведет к продолжению отправки запросов к ссылкам, найденным на предыдущем уровне глубины, для обнаружения новых ссылок.```
xnLinkFinder -i target.com -sp target_prefix.txt -sf target_scope.txt -spo -inc -vv -H 'Authorization: Bearer XXXXXXXXXXXXXX' -c 'SessionId=MYSESSIONID' -u desktop mobile -d 10
Если у вас есть файл с URL-адресами JS-файлов, например, вы можете искать ссылки в них:``` xnLinkFinder -i target_js.txt -sf target.com
NOTE: Принято считать, что переданный файл является списком URL-адресов, если первая строка начинается с `//` или `http` или имеет формат домена (например, `example.com`, `sub.example.co.uk`). В противном случае он считается файлом, в содержимом которого нужно выполнить поиск (если только это не файл Burp, Zap, Caido или HAR).
### Поиск ссылок в содержимом файла - Базовое
Если у вас есть сохранённый ответ, например, вы можете искать ссылки в нём:```
xnLinkFinder -i response.txt -sf target.com
ПРИМЕЧАНИЕ: Переданный файл считается списком URL, если первая строка начинается с // или http или является форматом домена (например, example.com, sub.example.co.uk), в противном случае он считается файлом, в котором необходимо искать содержимое (если это не файл Burp, Zap, Caido или HAR).
Если у вас есть файлы, например, JS-файлы, HTTP-ответы и т.д., вы можете искать в них ссылки:``` xnLinkFinder -i ~/.config/waymore/results/target.com
ПРИМЕЧАНИЕ: Также проверяются подкаталоги. Опция `-mfs` позволяет пропускать файлы размером больше указанного.
### Поиск ссылок из проекта Burp — базовый
В Burp выделите элементы, которые нужно найти, например, отметив область сканирования, затем щелкните правой кнопкой мыши и выберите `Save selected items`. Убедитесь, что перед сохранением отмечен параметр `base64-encode requests and responses`.
Чтобы получить все ссылки из файла (даже из ОГРОМНЫХ файлов, вы сможете получить все ссылки):```
xnLinkFinder -i target_burp.xml
ПРИМЕЧАНИЕ: xnLinkFinder предполагает, что если первая строка файла, переданного с помощью -i, начинается с <?xml, то вы пытаетесь обработать файл Burp.
В идеале укажите префикс области видимости (-sp) с основным доменом (включая схему) и фильтр области видимости (-sf) для фильтрации результатов только по соответствующим доменам.```
xnLinkFinder -i target_burp.xml -o target_burp.txt -sp https://www.target.com -sf target.* -ow -spo -inc -vv
### Поиск ссылок из проекта ZAP - Основы
В ZAP выберите элементы, которые вы хотите искать, выделив, например, Историю, затем нажмите меню `Export` и выберите `Save Messages...` (или `Export Messages to File...` в старых версиях). Это позволит сохранить текстовый файл ASCII всех запросов и ответов, которые вы хотите искать.
Чтобы получить все ссылки из файла (даже при очень больших файлах вы сможете получить все ссылки):```
xnLinkFinder -i target_zap.txt
ПРИМЕЧАНИЕ: xnLinkFinder предполагает, что если первая строка файла, переданного с -i, имеет формат ==== 99 ========== или ===99 ==========, например, то вы пытаетесь обработать текстовый файл ZAP ASCII.
В Caido перейдите в раздел История и выберите опцию Экспорт.
Если вы используете Caido Pro или Enterprise, выберите опцию Экспорт текущих строк и укажите Как CSV. Перейдите в раздел Экспорты и скачайте CSV-файл. Затем передайте его на вход:``` xnLinkFinder -i 2023-03-18-010332_csv_requests.csv
Если вы используете сообщество Caido, вам нужно будет выбрать опцию **Экспортировать всё** и выбрать **Как CSV**. Перейдите в раздел **Экспорт** и скачайте CSV-файл. Так как у вас есть полная история, вам нужно будет удалить из CSV-файла всё, что не относится к делу. Используйте пример ниже, где `redbull` является основной частью доменов целевого объекта, который вы ищете.```
cat 2023-03-18-010332_csv_requests.csv | grep -E '^id|^[0-9]+,[^,]*redbull' > caido_redbull.csv
xnLinkFinder -i caido_redbull.csv
ПРИМЕЧАНИЕ: xnLinkFinder предполагает, что если первая строка файла, переданного с -i, имеет формат id,host,method, то вы пытаетесь обработать экспортированный CSV файл Caido.
Файл HAR — это JSON-файл, содержащий список HTTP-запросов и ответов. Это распространённый формат для хранения HTTP-трафика. Вы можете экспортировать HAR-файл из большинства веб-браузеров, обычно на вкладке "Network" в инструментах разработчика. Передайте файл в качестве входных данных:``` xnLinkFinder -i browser.har
ПРИМЕЧАНИЕ: xnLinkFinder предполагает, что если имя файла заканчивается на `.har` ИЛИ первая строка файла содержит `"log"` и начинается с `{`, то вы пытаетесь обработать HAR-файл.
### Поиск ссылок из каталога результатов Waymore
Инструмент [waymore](https://github.com/xnl-h4ck3r/waymore) можно использовать для получения URL-адресов из различных сторонних API, а также для загрузки архивных ответов из различных источников. Передача каталога результатов waymore в `xnLinKFinder` позволит искать содержимое архивных ответов, а также запрашивать URL-адреса из `waymore.txt` и архивные URL-адреса из `waymore_index.txt` (или `index.txt` для старых версий `waymore`) и получать дополнительные ссылки из этих ответов. Если `-d`/`--depth` равно нулю, то URL-адреса из `waymore_index.txt` будут просто возвращены, но не запрошены.```
xnLinkFinder -i ~/Tools/waymore/results/target.com
ПРИМЕЧАНИЕ: Передаётся как обычная директория, но xnLinkFinder определит, что это директория результатов waymore, и обработает соответствующим образом. Это основано на том, что файл URL-адресов по умолчанию называется waymore.txt и находится в той же директории, что и архивные файлы (что по умолчанию и происходит).
Вы можете передать вывод xnLinkFinder другим инструментам. Любые ошибки отправляются в stderr, а все найденные ссылки — в stdout. Файл с результатами по-прежнему создаётся в дополнение к передаче ссылок следующей программе. Однако потенциальные параметры не передаются следующей программе, но всё равно записываются в файл. Например:```
xnLinkFinder -i redbull.com -sp https://redbull.com -sf rebbull.* -d 3 | unfurl keys | sort -u
Вы также можете передать ввод через `stdin` вместо `-i`.```
cat redbull_subs.txt | xnLinkFinder -sp https://redbull.com -sf rebbull.* -d 3
ПРИМЕЧАНИЕ: Нельзя передавать файлы Burp, ZAP, Caido или HAR через конвейер, их необходимо передавать с помощью -i.
-sp. Это может быть один домен области видимости или файл, содержащий несколько доменов области видимости.
Ниже приведены примеры используемого формата (не следует включать путь и не использовать подстановочные знаки. Схема необязательна, но по умолчанию будет http): ```
http://www.target.com
https://target-payments.com
https://static.target-cdn.com
Если ссылка не содержит домена, например /path/to/example.js, то передача -sp http://www.target.com приведет к выводу http://www.target.com/path/to/example.js, и если глубина (-d) больше 1, то будет возможность отправить запрос по этому URL для поиска дополнительных ссылок. Если с помощью -sp передан файл с доменами, то вывод будет содержать каждый домен с последующим /path/to/example.js, что увеличит шанс обнаружения дополнительных ссылок.
-sp, но при этом хотите дополнительно получить в выводе исходную ссылку /path/to/example.js (без домена), укажите аргумент -spo.-sf. Это гарантирует, что в выводе будут возвращены только соответствующие домены, и, что более важно, если глубина (-d) больше 1, то цели, находящиеся вне области действия, не будут проверяться на наличие ссылок или параметров. Это может быть один домен области действия или файл, содержащий несколько доменов области действия. Ниже приведены примеры используемого формата (схема или путь не должны включаться): ```
target.*
target-payments.com
static.target-cdn.com
ЭТО ТОЛЬКО ДЛЯ ФИЛЬТРАЦИИ ДОМЕНА ССЫЛОК.
-ra. Всегда полезно использовать https://regex101.com/, чтобы проверить, что ваше регулярное выражение будет работать так, как вы ожидаете.-v, чтобы лучше понимать, что делает инструмент.-vv, которая может показывать ошибки, которые могут быть устранены, или вы можете создать issue на GitHub.-c), заголовков (-H) и regex (-ra) в одинарных кавычках, например -ra '/api/v[0-9]\.[0-9]\*'-o, чтобы задать конкретное имя выходного файла для ссылок, вместо стандартного output.txt. Если вы планируете выполнять поиск с большой глубиной, начните с 2 и опцией -v, чтобы проверить, что возвращается. Затем вы можете увеличить глубину, и новый вывод будет добавлен к существующему файлу, если только вы не используете -ow.Если вы столкнетесь с какими-либо проблемами или у вас есть идеи по улучшению, пожалуйста, создавайте issue на Github. Если возникла проблема, будет полезно, если вы укажете точную команду, которую запускали, и подробное описание проблемы. Если возможно, запустите с -vv для воспроизведения проблемы и сообщите о любых сообщениях об ошибках.
Активный поиск ссылок для домена:
...
Конвейерный ввод и вывод:
Удачи и успешной охоты! Если вам действительно нравится инструмент (или любой другой), или они помогли вам найти отличный баунти, рассмотрите КУПИТЕ МНЕ КОФЕ! ☕ (Кофеин бы не помешал!)
🤘 /XNL-h4ck3r
-owcli-ow-ow/-sp/-spkf'name1=value1; name2=value2;''Header1: value1; Header2: value2;'/api/v[0-9]\.[0-9]\*-sp--scope-prefixconfig.ymlcareers,forumLINK-URL [ORIGIN-URL](PREFIXED)./../-i-u desktop mobiledesktopmobileset-top-boxesgame-consolemobile-applemobile-androidmobile-windowsmobile-u--user-agenthttp://127.0.0.1:8080http://user:[email protected]:8000socks5://host:port<script><style><noscript><template>config.yml~/.config/xnLinkFinderrespParamPathWords равно True, то этот аргумент не будет иметь эффекта, если также не передан -nwlpm/--no-wordlist-parameters.-itruefalsecommonTLDsconfig.ymljs\.maprespParamLinksFound † – Добавлять ли потенциальные параметры из ссылок, найденных в ответах: True или False.respParamPathWords † – Добавлять ли слова пути в полученных ссылках как потенциальные параметры: True или False.respParamJSON † – Если MIME-тип ответа содержит JSON, добавлять ли значения ключей JSON как потенциальные параметры: True или False.respParamJSVars † – Добавлять ли переменные JavaScript, установленные с помощью var, let или const, как потенциальные параметры: True или False.respParamXML † – Если MIME-тип ответа содержит XML, добавлять ли значения атрибутов XML как потенциальные параметры: True или False.respParamInputField † – Если MIME-тип ответа содержит HTML или JavaScript (поскольку HTML может быть встроен), добавлять ли атрибуты NAME и ID полей INPUT (или TEXTAREA/SELECT/BUTTON) как потенциальные параметры: True или False.respParamMetaName † – Если MIME-тип ответа содержит HTML, добавлять ли атрибуты NAME тегов META как потенциальные параметры: True или False.wordsContentTypes – список строк через запятую (например, text/html,text/plain), указывающий, типы содержимого каких ответов будут просканированы на слова для добавления в целевой словарь.stopWords – список строк через запятую (например, then,this,that), указывающий слова, исключаемые из целевого словаря. Этот список по умолчанию состоит из английских детерминативов, сочинительных союзов и предлогов, а также списка стоп-слов из Scikit-Learn (библиотека машинного обучения Python).commonTLDs – список самых распространённых доменов верхнего уровня через запятую. Если не передан аргумент -all/--all-tlds, возвращаются только ссылки с доменами, у которых TLD есть в этом списке.-op, чтобы задать конкретное имя выходного файла для потенциальных параметров, вместо стандартного parameters.txt. Любой вывод будет добавлен к существующему файлу, если только вы не используете -ow.-d) будьте осторожны с некоторыми сайтами, использующими динамические ссылки, так как они будут просто находить новые. Если новые ссылки не находятся, xnLinkFinder прекратит поиск. Также следует предусмотреть флаги остановки (s429, s403, sTO, sCE).-d), и имеете ограниченные ресурсы, программа остановится, когда достигнет порога памяти (-m), и завершится корректно с сохранением данных.Ctrl-C) во время выполнения, наберитесь терпения, все собранные данные будут сохранены перед корректным завершением.-orig покажет URL, где была найдена ссылка. Это может привести к дублированию ссылок в выводе, если одна и та же ссылка найдена на нескольких источниках, но она будет дополнена исходным URL в квадратных скобках.desktop (если не используется аргумент -uc/--user-agent-custom). Если у вас есть цель, которая может иметь разные ссылки для разных групп user-agent, укажите, например, -u desktop mobile (разделяйте пробелом). Опция mobile user agent представляет собой комбинацию mobile-apple, mobile-android и mobile-windows. Возможные значения: desktop, mobile, set-top-boxes и game-console.-i задан как каталог, содержимое файлов в корне этого каталога будет просканировано на предмет ссылок. Файлы в подкаталогах не сканируются. Любые файлы размером больше, чем установлено -mfs (по умолчанию: 500 МБ), будут пропущены.-replay-proxy запросы иногда могут занимать больше времени. Если вы начинаете видеть больше ошибок Request Timeout (вы увидите ошибки при использовании опций -v или -vv), рассмотрите возможность использования -t для увеличения лимита времени ожидания.-ascii-only. Это может устранить ряд ложных срабатываний, которые иногда возникают из двоичных данных.-d/--depth для поиска дополнительных ссылок, найденных из запросов URL, а также -u/--user-agent, если вы считаете, что может быть найдено другое содержимое, например -u desktop mobile.-owl/--output-wordlist, чтобы сохранить целевой специфичный список слов. Этот список может быть очень полезен при фаззинге цели.wordsContentTypes конфигурационного YML. По умолчанию это text/html,application/xml,application/json,text/plain<meta>, где:
Property равно og:title или og:descriptionName равно description,keywords,twitter:title или twitter:descriptionalt тегов ``<style>, <script> и <link>-swf/--stopwords-file. Возможно, вы захотите включить стоп-слова на другом языке, в зависимости от цели. Стоп-слова используются в обработке естественного языка (NLP), и множество списков стоп-слов можно найти в интернете для различных нужд.