установка и использование dirsearch [легко понять]
установка и использование dirsearch [легко понять]

Оглавление

введение в поиск

Загрузите и установите

Как использовать

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

рекурсивное сканирование

нить

префикс/суффикс

черный список

фильтр

исходный запрос

Формат списка слов

исключить расширение

Сканировать подкаталоги

актерское мастерство

Отчет

Другие команды

Советы

Параметры

Параметры

Обязательный

Настройки словаря

Общие настройки

запросить настройки

Настройки подключения

Конфигурация

введение в поиск

dirsearch — инструмент командной строки, основанный на Python3.,Обычно используется для грубого сканирования структуры страницы.,В том числе Оглавление и файлы на веб-страницах. По сравнению с другими инструментами сканирования, disearch имеет следующие особенности:

  • Поддержка HTTPактерское мастерство
  • многонить
  • Поддерживает различные формы веб-страниц (asp, php).
  • Создать отчет (обычный текст, JSON)
  • Эвристика для обнаружения недействительных веб-страниц
  • рекурсивное сканирование
  • Пользовательское актерское мастерство рандомизация
  • Пакетная обработка
  • Сканер и словарь (примечание: словарь должен быть текстовым файлом)

Загрузите и установите

Требования: Python 3.7 или выше.

Среди них папка db — это встроенная папка словаря; report — папка журнала сканирования; dirsearch.py ​​— основной файл программы;

Установить с помощью Git

Язык кода:javascript
копировать
git clone https://github.com/maurosoria/dirsearch.git

Установить с помощью ZIP-файла

Язык кода:javascript
копировать
https://github.com/maurosoria/dirsearch/archive/master.zip

Установить с помощью Docker

Подробности:GitHub – maurosoria/dirsearch: Web path scanner

Язык кода:javascript
копировать
Docker build-t“dirsearch:v0.4.1

Использование Кали установка Linux

Язык кода:javascript
копировать
sudo apt-get Install dirsearch

Установить с помощью PYPI

Язык кода:javascript
копировать
PIP3 Install DirSearch

ПРИМЕЧАНИЕ. *Чтобы использовать функциональность SOCKSактерское мастерство, установите пакет с **Requirements.txt**:

Язык кода:javascript
копировать
pip3 install -r requirements.txt

Установите вместе:

Язык кода:javascript
копировать
git clone https://github.com/maurosoria/dirsearch.git
cd dirsearch
pip3 install -r requirements.txt

Как использовать

Демонстрационное видео: https://asciinema.org/a/380112.svg

Адрес: https://asciinema.org/a/380112

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

Язык кода:javascript
копировать
python3 dirsearch.py -u https://target

python3 dirsearch.py -e php,html,js -u https://target

python3 dirsearch.py -e php,html,js -u https://target -w /path/to/wordlist

рекурсивное сканирование

- При использовании параметра **-r–recursive** dirsearch будет вынужден рекурсивно выполнять все Оглавление.

Язык кода:javascript
копировать
python3 dirsearch.py -e php,html,js -u https://target -r

Вы можете использовать **–recursion-length**, чтобы установить максимальную глубину рекурсии, и **–recursion-status**, чтобы установить код состояния рекурсии.

Язык кода:javascript
копировать
python3 dirsearch.py -e php,html,js -u https://target -r --recursion-depth 3 --recursion-status 200-399

Есть еще 2 параметра: **–force-recursive** и **–deep-recursive**.

принудительная рекурсия (принудительная рекурсия): принудительно рекурсивно рекурсировать все найденные пути, а не только пути, заканчивающиеся на `/` deep-recursive(глубокая рекурсия):Все глубины рекурсивных путей грубой силы(`a/b/c`=>add`a/`,`a/b/`)

нить

Число нит (**-t | –threads**) отражает количество отсоединенных мощных процессов. поэтому,нить Чем больше число,dirsearch работает быстрее. По умолчанию,нить Число30,Но если вы хотите ускорить прогресс,Можно увеличить.

несмотря на это,Скорость по-прежнему сильно зависит от времени ответа сервера. как предупреждение,Рекомендуется, чтобы количество нитей не было слишком большим.,Потому что это может вызвать DOS.

Язык кода:javascript
копировать
python3 dirsearch.py -e php,htm,js,bak,zip,tgz,txt -u https://target -t 20

префикс/суффикс

--prefixes: добавить пользовательские префиксы ко всем записям.

Язык кода:javascript
копировать
python3 dirsearch.py -e php -u https://target --prefixes .,admin,_

Базовый путь:

tools

После добавления префикса:

.tools admintools _tools

--suffixes: добавить пользовательские суффиксы ко всем записям.

Язык кода:javascript
копировать
python3 dirsearch.py -e php -u https://target --suffixes ~

Базовый путь:

index.php internal

После добавления суффикса:

index.php~ internal~

черный список

В папке «db/»,Имеется несколько "черных файлов". Если путь в этих файлах совпадает со статусом, указанным в имени файла,Пути в этих файлах будут отфильтрованы из результатов сканирования.

Пример: Если `admin.php` добавлен в `db/403_blacklist.txt`, то при каждом сканировании `admin.php`, возвращающий 403, будет отфильтрован из результатов.

фильтр

Используйте **-i-include-status** и **-x-exclude-status**, чтобы выбрать коды состояния ответа: разрешить или запретить.

Более продвинутые фильтры: **–exclude-sizes**, **–exclude-texts**, **–exclude-regexps**, **–exclude-redirects** и **–exclude-content**

Язык кода:javascript
копировать
python3 dirsearch.py -e php,html,js -u https://target --exclude-sizes 1B,243KB

python3 dirsearch.py -e php,html,js -u https://target --exclude-texts "403 Forbidden"

python3 dirsearch.py -e php,html,js -u https://target --exclude-regexps "^Error$"

python3 dirsearch.py -e php,html,js -u https://target --exclude-redirects "https://(.*).okta.com/*"

python3 dirsearch.py -e php,html,js -u https://target --exclude-content /error.html

исходный запрос

dirsearch позволяет импортировать исходный запрос из файла. Содержание следующее:

Язык кода:javascript
копировать
GET /admin HTTP/1.1
Host: admin.example.com
Cache-Control: max-age=0
Accept: */*

Поскольку у dirsearch нет возможности узнать, что такое схема URI, ее необходимо установить с помощью флага --scheme. По умолчанию используется схема «HTTP», что приводит к большому количеству ложноотрицательных результатов.

Формат списка слов

Поддерживаемые форматы списков слов: прописные, строчные, заглавные буквы.

Lowercase

admin index.html

Uppercase:

ADMIN INDEX.HTML

Capital

Admin Index.html

исключить расширение

Использование списка расширений **-x --exclude-extensions** приведет к удалению всех путей в списке слов, содержащих данное расширение.

Язык кода:javascript
копировать
python3 dirsearch.py -u https://target -X jsp

Базовый путь:

admin.php test.jsp

исключить расширениеназад:

admin.php

- Если вы хотите исключить все расширения, кроме тех, которые выбраны с помощью флага «-e», используйте **–only-selected**.

Язык кода:javascript
копировать
python3 dirsearch.py -e html -u https://target --only-selected

Базовый путь:

index.html admin.php

исключить расширениеназад:

index.html

Сканировать подкаталоги

- Из URL-адреса вы можете использовать **–subdirs** Сканировать список подкаталогов.

Язык кода:javascript
копировать
python3 dirsearch.py -e php,html,js -u https://target --subdirs admin/,folder/,/

- Обратная версия — **–exclude-subdirs**, которая предотвращает рекурсивное сканирование dirsearch для заданных подкаталогов.

Язык кода:javascript
копировать
python3 dirsearch.py -e php,html,js -u https://target --recursive --exclude-subdirs image/,css/

актерское мастерство

dirsearch поддерживает SOCKS и HTTPактерское мастерство,Есть два параметра: актеры мастерствосерверилиактерское мастерствосерверсписок。

Язык кода:javascript
копировать
python3 dirsearch.py -e php,html,js -u https://target --proxy 127.0.0.1:8080

python3 dirsearch.py -e php,html,js -u https://target --proxy socks5://10.10.0.1:8080

python3 dirsearch.py -e php,html,js -u https://target --proxylist proxyservers.txt

Отчет

Поддерживаемые форматы отчетов: **Простой**, **Обычный**, **JSON**, **XML**, **MD**, **CSV**, **HTML**.

Язык кода:javascript
копировать
python3 dirsearch.py -e php -l URLs.txt --format plain -o report.txt

python3 dirsearch.py -e php -u https://target --format html -o target.json

Другие команды

Есть еще много функций, которые вам нужно открыть самостоятельно.

Язык кода:javascript
копировать
python3 dirsearch.py -u https://target -t 100 -m POST --data "username=admin"

python3 dirsearch.py -u https://target --random-agent --cookie "isAdmin=1" -F

python3 dirsearch.py -u https://target --format json -o target.json

python3 dirsearch.py -u https://target --auth admin:pass --auth-type basic

python3 dirsearch.py -u https://target --header-list rate-limit-bypasses.txt

python3 dirsearch.py -u https://target -q --stop-on-error --max-time 360

python3 dirsearch.py -u https://target --full-url --max-rate 100

python3 dirsearch.py -u https://target --remove-extensions

Советы

-На сервере есть лимиты запросов? Это плохо, но этого можно обойти, рандомизировав прокси с помощью --proxy-list. - Хотите найти файлы конфигурации или резервные копии? Попробуйте `-суффиксы ~` и `-префиксы .` - Просто хочу найти папку /Оглавление? Почему бы не объединить '--remove-extensions' и '--suffixes/`! – The mix of `–cidr`, `-F`, `-q` and will reduce most of noises + false negatives when brute-forcing with a CIDR -Сканируйте список URL-адресов, но не хотите видеть ошибку 429. flood?`–Skip-on-Status 429` поможет вам пропустить цель при возврате 429. -На сервере содержатся большие файлы, которые замедляют сканирование? Возможно, вы захотите использовать HTTP-метод `head` вместо `get`. -Brute-forcing CIDR медленный? Возможно, вы забыли уменьшить время ожидания запроса и количество повторных попыток запроса. Предложение: `–timeout 3 –retries 1`

Параметры

Использование: dirsearch.py ​​[-u|–url] целевые [-e|–extensions] расширения [параметры]

Параметры

Язык кода:javascript
копировать
--version             Отобразить номер версии программы и выйти
  -h, --help            Показать это справочное сообщение и выйти

Обязательный

Язык кода:javascript
копировать
    -u URL, --url=URL   Целевой URL
    -l FILE, --url-list=FILE
                        Целевой URLсписок文件
    --stdin             Целевой из STDIN URLсписок
    --cidr=CIDR         Цель CIDR
    --raw=FILE          Файл загружает необработанный HTTP-запрос из файла (используйте флаг `--Scheme`, чтобы установить схему)
    -e EXTENSIONS, --extensions=EXTENSIONS
                        Список расширений, разделенных запятыми (например: php, asp)
    -X EXTENSIONS, --exclude-extensions=EXTENSIONS
                        Список расширений, разделенных запятыми, которые следует исключить (например: asp, jsp)
    -f, --force-extensions
                        Добавьте расширение к каждой записи списка слов. По умолчанию dirsearch заменяет только ключевое слово %ext% расширениями.

Настройки словаря

Язык кода:javascript
копировать
    -w WORDLIST, --wordlists=WORDLIST
                        Пользовательский список слов (через запятую)
    --prefixes=PREFIXES
                        Добавить собственный префикс ко всем записям списка слов (через запятую)
    --suffixes=SUFFIXES
                        Добавить собственный суффикс ко всем записям списка слов, игнорируя Оглавление (через запятую)
    --only-selected     Удалить пути с расширениями, отличными от выбранных через `-e` (оставить записи без расширения)
    --remove-extensions
                        Удалите расширения со всех путей (например: admin.php -> admin)
    -U, --uppercase     Uppercase wordlist
    -L, --lowercase     Lowercase wordlist
    -C, --capital       Capital wordlist

Общие настройки

Язык кода:javascript
копировать
    -t THREADS,--threads=THREADS
                        нитьчисло    -r, --recursive     Рекурсия грубой силы
    --deep-recursive    Выполнять рекурсивное для каждой глубины Оглавления сканирование(Например: api/users -> api/)
    --force-recursive   Выполняйте рекурсивный перебор для каждого найденного пути вместо того, чтобы иметь пути, заканчивающиеся косой чертой.
    --recursion-depth=DEPTH
                        максимальная глубина рекурсии
    --recursion-status=CODES
                        осуществлятьрекурсивное Действительные коды состояния для сканирования, поддерживаемые диапазоны (через запятую)
    --subdirs=SUBDIRS   Сканировать заданные URL-адреса на предмет подтипов (после запятых).
    --exclude-subdirs=SUBDIRS
                        Исключить следующие сканы суб-Оглавления (разделенные запятыми) во время рекурсии
    -i CODES, --include-status=CODES
                        Включите коды состояния, разделенные запятыми, и поддерживаемые диапазоны (пример: 200,300–399).
    -x CODES, --exclude-status=CODES
                        Исключить коды состояния, разделенные запятыми, поддерживаемые диапазоны (пример: 301 500–599).
    --exclude-sizes=SIZES
                       Исключить ответы по размеру, разделенному запятыми (например: 123Б, 4КБ).
    --exclude-texts=TEXTS
                       Исключать ответы по тексту, разделенному запятыми (например: «не found'、'error')
    --exclude-regexps=REGEXPS
                        Регулярное выражение, разделенное запятыми, для исключения ответов (например: «не foun[a-z]{1}”,“^error$”)
    --exclude-redirects=REGEXPS
                        Исключайте ответы с помощью регулярного выражения перенаправления или текста, разделенного запятыми (например: «https://okta.com/*»)
    --exclude-content=PATH
                        Исключить ответы по содержимому ответа для этого пути
    --skip-on-status=CODES
                        Пока достигнут один из кодов состояния, пропустите цель, разделенную запятыми, поддерживаются диапазоны.
    --minimal=LENGTH    Минимальная длина ответа
    --maximal=LENGTH    Максимальная длина ответа
    --max-time=SECONDS  Максимальное время сканирования
    -q, --quiet-mode    Тихий режим
    --full-url          Полный URL в выводе (в Тихий режим)
    --no-color          Нет цвета Нет цветопередачи

запросить настройки

Язык кода:javascript
копировать
    -m METHOD, --http-method=METHOD
                        Метод HTTP (по умолчанию: GET)
    -d DATA, --data=DATA
                        Данные HTTP-запроса
    -H HEADERS, --header=HEADERS
                        Заголовок HTTP-запроса, поддерживает несколько флагов (например: -H 'Referer: example.com')
    --header-list=FILE  Файл содержит заголовки HTTP-запроса.
    -F, --follow-redirects
                        Следуйте HTTP-перенаправлениям
    --random-agent      Выбор случайного актера для каждого запроса мастерство
    --auth-type=TYPE    Тип аутентификации (basic, digest, bearer, ntlm)
    --auth=CREDENTIAL   Учетные данные аутентификации (user:password or bearer token)
    --user-agent=USERAGENT
    --cookie=COOKIE

Настройки подключения

Язык кода:javascript
копировать
    --timeout=TIMEOUT   таймаут соединения таймаут
    -s DELAY, --delay=DELAY
                        Задержка между запросами
    --proxy=PROXY       актерское мастерствоURL,Поддерживает HTTP и SOCKSактерское мастерство (например: localhost:8080).,socks5://localhost:8088)
    --proxy-list=FILE   Файл содержит актёрское мастерствосервер
    --replay-proxy=PROXY
                        актерское, используя найденный путь для повтора мастерство
    --scheme=SCHEME     Схема по умолчанию (для исходного запрос или если в URL нет схемы)
    --max-rate=RATE     Максимальное количество запросов в секунду
    --retries=RETRIES   Количество попыток повторения неудачных запросов
    -b, --request-by-hostname
                        По умолчанию dirsearch запрашивает скорость по IP. Это заставит dirsearch запрашивать имя хоста.
    --ip=IP             Выход при возникновении ошибки

  Отчет:
    -o FILE, --output=FILE
                        выходной файл
    --format=FORMAT     формат формата отчета (доступны: простой, простой, json, xml, md, csv, html)

Конфигурация

Значение флага dirsearch по умолчанию можно изменить в файле конфигурации: `Default.conf`

Язык кода:javascript
копировать
# Если вы хотите отредактировать Конфигурацию dirsearch по умолчанию, вы можете отредактировать значения в этом файле. Все, что после '#', является комментарием и не будет применено.

[mandatory]
default-extensions = php,aspx,jsp,html,js
force-extensions = False
# exclude-extensions = old,log

[general]
threads = 30
recursive = False
deep-recursive = False
force-recursive = False
recursion-depth = 0
exclude-subdirs = %%ff/
random-user-agents = False
max-time = 0
full-url = False
quiet-mode = False
color = True
recursion-status = 200-399,401,403
# include-status = 200-299,401
# exclude-status = 400,500-999
# exclude-sizes = 0b,123gb
# exclude-texts = "Not found"
# exclude-regexps = "403 [a-z]{1,25}"
# exclude-content = 404.html
# skip-on-status = 429,999

[reports]
report-format = plain
autosave-report = True
# report-output-folder = /home/user
# logs-location = /tmp
## Supported: plain, simple, json, xml, md, csv, html

[dictionary]
lowercase = False
uppercase = False
capitalization = False
# prefixes = .,admin
# suffixes = ~,.bak
# wordlist = db/dicc.txt

[request]
httpmethod = get
## Lowercase only
follow-redirects = False
# headers-file = headers.txt
# user-agent = MyUserAgent
# cookie = SESSIONID=123

[connection]
timeout = 5
delay = 0
scheme = http
maxrate = 0
retries = 2
request-by-hostname = False
exit-on-error = False
# proxy = localhost:8080
# proxy-list = proxies.txt
# replay-proxy = localhost:8000

Источник содержания статьи: Файл README.md в установочном пакете dirsearch переведен на английский язык. Если у вас есть вопросы или ошибки, поправьте меня. Спасибо.

Заявление об авторских правах: Содержание этой статьи добровольно предоставлено пользователями Интернета, а мнения, выраженные в этой статье, представляют собой только точку зрения автора. Данный сайт лишь предоставляет услуги по хранению информации, не имеет никаких прав собственности и не несет соответствующей юридической ответственности. Если вы обнаружите на этом сайте какое-либо подозрительное нарушение авторских прав/незаконный контент, отправьте электронное письмо, чтобы сообщить. После проверки этот сайт будет немедленно удален.

Издатель: Full stack программист и руководитель стека, укажите источник для перепечатки: https://javaforall.cn/185438.html Исходная ссылка: https://javaforall.cn

boy illustration
Неразрушающее увеличение изображений одним щелчком мыши, чтобы сделать их более четкими артефактами искусственного интеллекта, включая руководства по установке и использованию.
boy illustration
Копикодер: этот инструмент отлично работает с Cursor, Bolt и V0! Предоставьте более качественные подсказки для разработки интерфейса (создание навигационного веб-сайта с использованием искусственного интеллекта).
boy illustration
Новый бесплатный RooCline превосходит Cline v3.1? ! Быстрее, умнее и лучше вилка Cline! (Независимое программирование AI, порог 0)
boy illustration
Разработав более 10 проектов с помощью Cursor, я собрал 10 примеров и 60 подсказок.
boy illustration
Я потратил 72 часа на изучение курсорных агентов, и вот неоспоримые факты, которыми я должен поделиться!
boy illustration
Идеальная интеграция Cursor и DeepSeek API
boy illustration
DeepSeek V3 снижает затраты на обучение больших моделей
boy illustration
Артефакт, увеличивающий количество очков: на основе улучшения характеристик препятствия малым целям Yolov8 (SEAM, MultiSEAM).
boy illustration
DeepSeek V3 раскручивался уже три дня. Сегодня я попробовал самопровозглашенную модель «ChatGPT».
boy illustration
Open Devin — инженер-программист искусственного интеллекта с открытым исходным кодом, который меньше программирует и больше создает.
boy illustration
Эксклюзивное оригинальное улучшение YOLOv8: собственная разработка SPPF | SPPF сочетается с воспринимаемой большой сверткой ядра UniRepLK, а свертка с большим ядром + без расширения улучшает восприимчивое поле
boy illustration
Популярное и подробное объяснение DeepSeek-V3: от его появления до преимуществ и сравнения с GPT-4o.
boy illustration
9 основных словесных инструкций по доработке академических работ с помощью ChatGPT, эффективных и практичных, которые стоит собрать
boy illustration
Вызовите deepseek в vscode для реализации программирования с помощью искусственного интеллекта.
boy illustration
Познакомьтесь с принципами сверточных нейронных сетей (CNN) в одной статье (суперподробно)
boy illustration
50,3 тыс. звезд! Immich: автономное решение для резервного копирования фотографий и видео, которое экономит деньги и избавляет от беспокойства.
boy illustration
Cloud Native|Практика: установка Dashbaord для K8s, графика неплохая
boy illustration
Краткий обзор статьи — использование синтетических данных при обучении больших моделей и оптимизации производительности
boy illustration
MiniPerplx: новая поисковая система искусственного интеллекта с открытым исходным кодом, спонсируемая xAI и Vercel.
boy illustration
Конструкция сервиса Synology Drive сочетает проникновение в интрасеть и синхронизацию папок заметок Obsidian в облаке.
boy illustration
Центр конфигурации————Накос
boy illustration
Начинаем с нуля при разработке в облаке Copilot: начать разработку с минимальным использованием кода стало проще
boy illustration
[Серия Docker] Docker создает мультиплатформенные образы: практика архитектуры Arm64
boy illustration
Обновление новых возможностей coze | Я использовал coze для создания апплета помощника по исправлению домашних заданий по математике
boy illustration
Советы по развертыванию Nginx: практическое создание статических веб-сайтов на облачных серверах
boy illustration
Feiniu fnos использует Docker для развертывания личного блокнота Notepad
boy illustration
Сверточная нейронная сеть VGG реализует классификацию изображений Cifar10 — практический опыт Pytorch
boy illustration
Начало работы с EdgeonePages — новым недорогим решением для хостинга веб-сайтов
boy illustration
[Зона легкого облачного игрового сервера] Управление игровыми архивами
boy illustration
Развертывание SpringCloud-проекта на базе Docker и Docker-Compose