460просмотров
21 июля 2025 г.
📷 ФотоScore: 506
Web Archive’s CDX Server API Response wayback-cdx-server - API для Web archive с возможностями встроенных фильтров и выдачи в разных форматах. https://web.archive.org/cdx/search/cdx?PARAMETERS Публично доступные атрибуты индекса (PARAMETERS):
- url (обязательный) - URL-адрес для поиска. Можно использовать , /admin, ?shoes=.
- output- формат вывода: json, text, xml, cdx. - fl - указывает, какие поля возвращать сервером CDX "timestamp","mimetype" и др.
- collapse - убирает дубликаты по указанному полю (например, urlkey, timestamp, digest). - from / to - указывает временной диапазон (формата YYYYMMDDHHMMSS). - filter - фильтрация по значениям в полях (смотри тут). - limit - ограничение количества результатов. - matchType - тип сопоставления URL (exact, prefix, host, domain). Запрос без параметров вернет много информации по всем поддоменам (с временными метками и статусами ответа сервера), с которой трудно работать, поэтому используем фильтры. https://web.archive.org/cdx/search/cdx?url=.example.ru Low Hanging Fruit Cases: ⚪️1) Отследить изменения определенной страницы, например /admin раньше была 200, далее закрыта 401, удалена 404 https://web.archive.org/cdx/search/cdx?url=example.com/admin&fl=timestamp,statuscode ⚪️2) Поиск pdf файлов, js и комбинированный поиск # pdf
https://web.archive.org/cdx/search/cdx?url=.example.com/&fl=timestamp,original,mimetype&filter=mimetype:application/pdf # js
https://web.archive.org/cdx/search/cdx?url=.example.com/.js&fl=timestamp,original,mimetype&filter=mimetype:application/javascript # комбинированный для поиска потенциально чувствительных или технических файлов фильтрами архива
https://web.archive.org/cdx/search/cdx?url=.example.ru/&collapse=urlkey&output=text&fl=original&filter=original:.\.(xls|xml|xlsx|json|pdf|sql|doc|docx|pptx|txt|git|zip|tar\.gz|tgz|bak|7z|rar|log|cache|secret|db|backup|yml|gz|config|csv|yaml|md|md5|exe|dll|bin|ini|bat|sh|tar|deb|rpm|iso|img|env|apk|msi|dmg|tmp|crt|pem|key|pub|asc|py|rb|php|java|cpp|c|h|ts|jsx|tsx|go|rs|toml|properties|cfg|cnf|ps1|kdbx|dockerfile|compose\.yml|compose\.yaml|gitlab-ci\.yml|github/workflows/.\.yml|sqlite|db3|ndjson|rdf|log\.[0-9]+|session|rdb|lst|dat)$ # греп ПОСЛЕ загрузки
curl -s "https://web.archive.org/cdx/search/cdx?url=.example.ru/&collapse=urlkey&output=text&fl=original" \ | grep -Ei '\.(xls|xml|xlsx|json|pdf|sql|docx?|pptx?|txt|git|zip|tar\.gz|tgz|bak|7z|rar|log|cache|secret|db|backup|ya?ml|gz|config|csv|md|md5|exe|dll|bin|ini|bat|sh|deb|rpm|iso|img|env|apk|msi|dmg|tmp|crt|pem|key|pub|asc|py|rb|php|java|cpp|c|h|ts|jsx?|tsx|go|rs|toml|properties|cfg|cnf|ps1|kdbx|dockerfile|compose\.ya?ml|gitlab-ci\.ya?ml|github/workflows/.\.ya?ml|sqlite|db3|ndjson|rdf|log\.[0-9]+|session|rdb|lst|dat)$' при использовании нескольких filter= запрос будет рассматриваться как "и", поэтому лучше выполнять два отдельных запроса и мапить в другом. ⚪️3) Вывести только URLs без лишней информации # в текстовом виде
https://web.archive.org/cdx/search/cdx?url=.example.ru/&collapse=urlkey&output=text&fl=original # json для передачи stout в nuclei, katana etc. https://web.archive.org/cdx/search/cdx?url=.example.ru/&collapse=urlkey&fl=original&output=json # распарсить и отдать в httpx
curl -s "https://web.archive.org/cdx/search/cdx?url=.target.com/&collapse=urlkey&fl=original&output=json" \ | jq -r '.[1:][] | .[0]' \ | httpx -title -status-code ⚪️4) Поиск API и сваггера curl -s "https://web.archive.org/cdx/search/cdx?url=.example.com/*&fl=original&collapse=urlkey&output=text" \ | grep -Ei '/(api|v1|v2|graphql|rest|ajax|backend|service|json|data|swagger)/' Далее дело творчества и автоматизации что еще можно стащить. 😻