Skip to content
KitploitKITPLOIT
ИнструментыБлог
Отправить
ИнструментыБлог
Отправить

Инструменты для хакинга, пентеста и кибербезопасности — ваш арсенал защиты!

Kitploit — это каталог инструментов для хакинга, кибербезопасности и пентестинга. Находите последние обновления проектов для поиска уязвимостей, анализа систем, автоматизации тестирования и усиления вашей безопасности.

··Ленты·Контакты·Конфиденциальность·© 2026 Kitploit

Каталог инструментов

Категории

Все категории
Loading categories
svn-extractor — простой скрипт для извлечения всех веб-ресурсов с помощью папки .SVN, доступной по сети. | Kitploit
Инструменты/GitHubGitHub/anantshri/svn-extractor
РазведкаАнализ уязвимостейСбор информацииВеб-безопасностьТестирование на Проникновение
GitHubanantshri/svn-extractor

svn-extractor

простой скрипт для извлечения всех веб-ресурсов с помощью папки .SVN, доступной по сети.

Репозиторий
4841252 лет назадПроверено Kitploit

Популярное

Смотреть все →

Откройте для себя самые используемые инструменты нашего сообщества.

Изучить все инструменты

Просмотрите нашу коллекцию инструментов

Смотреть все инструменты →
Поделиться
Сайт

Svn-Extractor

Многие тестировщики веб-приложений сталкиваются с наличием папок .svn. Для тех, кто не знает, папка .svn используется системой контроля версий SVN для выполнения своих операций. При черном ящике (blackbox pentest) эта папка содержит огромное количество информации. Вот некоторые ключевые области, где это может помочь.

  1. Обнаружение скрытых файлов и имен папок

  2. Доступ к исходному коду файлов.

  3. Скачивание файлов, даже если в htaccess установлены ограничения.

Как это можно сделать.

  1. Обнаружение скрытых файлов и имен папок

Есть два способа достичь этого, в зависимости от используемой версии SVN.
для <1.6 у нас были файлы .svn/entries, которые содержали список файлов/папок, а также имена пользователей, совершивших коммиты этих файлов.
для >1.6 у нас есть .svn/wc.db, который содержит аналогичные данные, но в формате sqlite3.
Эти файлы могут быть напрямую доступны через URL.

  1. Доступ к исходному коду / скачивание файлов, даже если htaccess блокирует доступ.

SVN хранит резервную копию всех файлов в двух разных местах.

  1. .svn/text-base/ "имя_файла" .svn-base
  2. .svn/pristine/ "XX" / "КОНТРОЛЬНАЯ_СУММА" .svn-base

где

имя_файла — это фактическое имя файла.

КОНТРОЛЬНАЯ_СУММА — это Sha1-сумма файла.

XX — это первые два символа КОНТРОЛЬНОЙ_СУММЫ.

У первого типа записей есть одно ограничение: предположим, файл называется testme.php, тогда путь становится следующим.

.svn/text-base/testme.php.svn-base

большое количество серверов выполнит файл и вернет вывод.

Вот где второй вариант сияет, однако эта информация доступна только в случае wc.db (версия SVN >1.6) и требует, чтобы каталог .sv/pristine был доступен через веб.

Однако, после долгих поисков я не смог найти ни одного кода, который мог бы делать обе эти вещи за один раз.

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

Использование

минимальное

svn-extractor.py --url "url с доступным .svn"

все опции

root@kitploit:~
$ python svnextractor.py --help  
usage: svn_extractor.py [-h] --url TARGET [--debug] [--noextract] [--userlist]
                        [--wcdb] [--entries] [--proxy PROXY] [--match MATCH]

This program is used to extract the hidden SVN files from a webhost
considering either .svn entries file (<1.6) or wc.db (> 1.7) are available
online. This program actually automates the directory navigation and text
extraction process

optional arguments:
  -h, --help     show this help message and exit
  --url TARGET   Provide URL
  --debug        Provide debug information
  --noextract    Don't extract files just show content
  --userlist     show the usernames used for commit
  --wcdb         check only wcdb
  --entries      check only .svn/entries file
  --proxy PROXY  Provide HTTP Proxy in http(s)://host:port format
  --match MATCH  only download files that match regex

Credit (C) Anant Shrivastava http://anantshri.info Greets to Amol Naik, Akash
Mahajan, Prasanna K, Lava Kumar for valuable inputs

Ссылки

Было бы несправедливо сказать, что я сам провел все исследования, поэтому вот ссылки на различные ресурсы, которые я использовал для получения информации.

  1. http://pen-testing.sans.org/blog/pen-testing/2012/12/06/all-your-svn-are-belong-to-us (ручная техника для wc.db)

  2. http://www.adamgotterer.com/post/28125474053/hacking-the-svn-directory-archive (ручная техника для .svn/entries)

  3. http://www.cirt.net/svnpristine (единственный автоматизированный инструмент, который я нашел в интернете, выполняющий магию wc.db)

Скачать инструмент