[M] UrlsDict, UrlsMask и UrlsCombine

Общее описание

Используются для поиска URL на целевых веб-сайтах. Поиск производится по шаблону, в который на место маркировочного символа подставляется искомое имя.

В качестве признаков отрицательных ответов (аналог кода 404) можно использовать регулярные выражения (совпадения ищутся в заголовках и телах ответов сервера), размер тела ответа, коды статуса. Также можно указать регулярное выражение для определения положительного ответа (аналог кода 200).

Если вы указываете сразу несколько признаков отрицательных/положительных ответов, то у них будет следующий приоритет:

  1. Регулярное выражение для определения положительного ответа (аналог кода 200)

  2. Размер отрицательного ответа

  3. Регулярное выражение для определения отрицательного ответа (аналог кода 404)

  4. Код статуса HTTP

Если какой-либо из признаков показывает что запрошенный элемент существует, дальнейшие проверки не производятся. Например. Вы указали что признаком положительного ответа является фраза «found» в ответе сервера. WS делает запрос элемента X и получает ответ с кодом 404, в теле которого содержится фраза «found». Такой ответ будет считаться положительным и WS сообщит о нахождении элемента Х. Причиной является то, что наличие в ответе фразы определяющей положительный ответ приоритетнее проверки по коду статуса.

Поиск производится по маске, словарю и в комбинированном режиме (маска + словарь).

Работа модулей осуществляется как в режиме «сырого» http, так и средствами selenium.

В config.ini вы можете найти опцию skip_listing, которая во включенном состоянии не позволит начинать работу с директориями, которые являются листингами. По умолчанию она включена.

Примеры

Простой поиск по словарю:

./ws.py UrlsDict --template http://simple.polygon.web-scout.online/@ --dict bases/demo/dict.txt

Простой поиск по маске:

./ws.py UrlsMask --template http://simple.polygon.web-scout.online/@ --mask ?l,1,4

Простой поиск по словарю в selenium-режиме:

./ws.py UrlsDict --template http://selenium.polygon.web-scout.online/@ --dict bases/demo/dict.txt --selenium 1 --browser-wait-re "checking" --not-found-re "Not Found"

Поиск на сайте, который отвечает 200 на запрос несуществующих страниц:

./ws.py UrlsDict --template http://always-200.polygon.web-scout.online/@ --dict bases/demo/dict.txt --not-found-re "Page not found"

Поиск с восприятием кода 500 как 404:

./ws.py UrlsDict --template http://always-500.polygon.web-scout.online/@ --dict bases/demo/dict.txt --not-found-codes 500

Поиск с повторением запроса при получении кода 503:

./ws.py UrlsDict --template http://sometimes-503.polygon.web-scout.online/@ --dict bases/demo/dict.txt --retest-codes 503

Поиск с повторением запроса при наличии фразы "Too big load" в ответе сервера:

./ws.py UrlsDict --template http://sometimes-503.polygon.web-scout.online/@ --dict bases/demo/dict.txt --retest-re "Too big load"

Опции (* - обязательно)

R - присутствует ли в raw режиме S - присутствует ли в selenium режиме.

Last updated