Перейти к содержимому
New

DeepSeek V4.1 Flash free for 7 days: 10M tokens a day after a top-up of $10 or more. Until Nov 30.

How it works

Краулинг и сбор URL: gospider, gau, qsreplace

Соберите URL и параметры своей области: gospider, hakrawler, waybackurls и gau, затем фильтр через qsreplace и чат NotHoly.

Начальный2 мин чтенияАвтор: NotHoly

Когда вы знаете, какие хосты живы, следующий слой это URL: страницы, endpoint-ы, параметры и старые пути. Его строят два вида инструментов. Майнеры архивов читают URL, которые были публичны раньше, не касаясь цели. Краулеры ходят по живому сайту. Вы объединяете оба, оставляете URL с параметрами и отдаёте шумную кучу чату NotHoly, чтобы сгруппировать по endpoint и указать параметры, которые стоит тестировать.

Сначала добывайте архивы

Архивные источники никогда не шлют запрос цели; они читают то, что поисковики и Wayback Machine уже сохранили.

waybackurls читает Wayback Machine.

bash
echo example.com | waybackurls | anew urls.txt

gau, от getallurls, тянет из нескольких архивов сразу.

bash
gau --subs example.com | anew urls.txt

Оба могут вернуть десятки тысяч старых URL, включая пути, которых уже нет в навигации сайта, но которые ещё отвечают на сервере. Это самый богатый пассивный слой, и цели он не стоит ничего.

Обходите живые хосты

Краулеры шлют запросы, поэтому запускайте их только по хостам в области и следите за частотой.

gospider идёт по ссылкам, формам и JavaScript.

bash
gospider -S live.txt -d 2 -c 10 --other-source | anew urls.txt

hakrawler это меньший и более быстрый краулер, читающий список со stdin.

bash
cat live.txt | hakrawler -d 2 | anew urls.txt

Сначала держите глубину низкой. Глубина два по десяти хостам уже даёт больше, чем прочитать за присест, а глубокий обход большого приложения может послать тысячи запросов, прежде чем вы заметите.

Отфильтруйте до параметров

URL со строкой запроса это место, откуда начинается большинство тестов. qsreplace переписывает каждое значение параметра, чтобы вы нормализовали и убрали дубли.

bash
cat urls.txt | grep '=' | qsreplace FUZZ | anew params.txt

Теперь params.txt держит по строке на уникальную форму параметра вместо тысяч почти-дублей. gf добавляет сохранённые grep-шаблоны для классов вроде redirect, ssrf и xss.

bash
gf redirect < urls.txt | anew redirect-candidates.txt

Пусть чат сгруппирует шум

Вставьте выборку из params.txt в чат NotHoly и дайте ему кластеризовать endpoint-ы.

text
Это шаблоны URL с FUZZ в каждом параметре.
Сгруппируй по endpoint, назови параметры, похожие
на путь, URL, ID или redirect, и скажи, какие пять
тестировать первыми и почему.

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

Область и приватность

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

Частые вопросы

Зачем добывать архивы, а не только обходить?

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

Как не колотить по цели?

Снизьте конкурентность и глубину gospider, обходите по одному хосту и держите добычу архивов, которая не касается цели, как основную часть сбора. Шлите живые запросы, только когда есть причина.

Когда URL и параметры нанесены на карту, расширьте пассивную картину через certificate transparency и историю DNS. Назад к перечислению поддоменов.

Источники

  1. waybackurls, repository
  2. gau (getallurls), repository
  3. gospider, repository
  4. hakrawler, repository
  5. qsreplace, repository
  6. gf, repository

Ещё по теме: OSINT и разведка

OSINT и разведка

OSINT с нуля: ИИ как второй пилот

Повторяемый процесс OSINT по цели, на которую можно смотреть: область, сбор по этапам, корреляция, а чат NotHoly планирует и подводит итог.

Начальный2 мин чтения

OSINT и разведка

Certificate transparency и история DNS в разведке

crt.sh, логи CT и пассивный DNS, чтобы нанести на карту хосты и инфраструктуру своей области, а чат NotHoly коррелирует записи.

Средний3 мин чтения