TGViewer
Серверная Админа | Компьютерные сети Серверная Админа | Компьютерные сети @school_network · 26.6K subscribers
Post #2889 898
👋 Привет, сетевой друг!

Сегодня про webcensus - инструмент для довольно специфичной задачи: найти один и тот же URL-путь сразу на огромном количестве сайтов.

🟣Например, хочется понять, кто вообще публикует /.well-known/security.txt, robots.txt, ads.txt или sitemap.xml. Перебирать сайты по одному здесь явно не вариант.

🟣webcensus собирает это в конвейер из нескольких этапов:

список доменов
↓
DNS
↓
HTTPS probe
↓
скачивание
↓
проверка файла


Сначала massdns быстро резолвит миллионы доменов и оставляет только те, у которых есть A-запись.

🟣Дальше в дело вступает собственный Rust-пробер skim. Он подключается к :443, выполняет TLS handshake и отправляет обычный HTTP-запрос к нужному пути. Но самое интересное - тело ответа на этом этапе вообще не скачивается.

Инструмент читает только HTTP status line:

{"url":"https://example.com/.well-known/security.txt","status":"success","code":200,"cert_ok":true}


Поэтому из миллионов адресов дальше проходят только те, где HTTPS вообще поднялся и нужный путь вернул 200.

🟣И только теперь начинается полноценная загрузка. curl --parallel скачивает найденные URL пачками, причём для каждого запроса есть ограничения по размеру, времени и числу повторных попыток.

Например:

--parallel-max 50
--max-filesize 5M
--max-time 10
--connect-timeout 3
--retry 2


Это важно, потому что сервер вполне может ответить 200, а вместо маленького security.txt отдать несколько мегабайт HTML.

🟣После скачивания webcensus ещё раз проверяет содержимое уже локально. HTML-страницы, JSON-ошибки, бинарный мусор и слишком короткие ответы отбрасываются.
Получается важная разница:

HTTP 200
≠
нужный файл действительно существует


Например, сайт может отдавать одну и ту же SPA-страницу на любой URL с кодом 200. Для простого сканера это найденный файл, для webcensus - мусор.

🟣Весь процесс запускается внутри Docker, а каждый этап оставляет результат в data/. Можно остановиться после любого шага и продолжить с него, а локальный этап проверки вообще не требует повторно ходить в интернет.

Серверная Админа | Zeroday | #Инструмент
  • 👍 2
More from @school_network
  1. Sep 28, 2026Почему SAML снова и снова ломается на одном и том же месте? SAML больше 20 лет отвечает за…
  2. Sep 26, 2026👨‍💻Серверная Админа | #мем
  3. Sep 25, 2026👋 Привет, сетевой друг! Сегодня про Ethernet, который мы привыкли воспринимать как обычны…
  4. Sep 24, 2026👋 Привет, сетевой друг! Собрал три способа прокачать защиту MikroTik - особенно если роут…
  5. Sep 24, 2026Когда в ИТ три человека, появляется четвёртая работа — выяснять, кто чем занимается. — Кто…
  6. Sep 23, 2026👋 Привет, сетевой друг! Давай расскажу про протокол ALTO, через который оператор сам подс…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →