Сегодня на хабре был опубликован отчет об обнаруженной уязвимости (точнее о распространенной ошибке при работе через) SVN.
Суть его заключается в том, что если сайт разрабатывается через систему SVN, то многие разработчики вместо команды svn export просто копируют директорию проекта из рабочих файлов SVN на продакшн - сервер и забывают, что при этом копируются скрытые папки ./svn в том числе ./svn/entries - список содержимого каталога и ./svn/text-base/ в которой и находятся исходники с дополнительным расширением .svn-base В результате можно стянуть исходный код сайта, т.к. веб-сервер не всегда передает интерпретатору файлы с расширением .svn-base и они будут передаваться plaintext-ом
Так что, не теряя времени, написал на Python граббер для сайтов, которые еще не успели дыры закрыть...
Версия 0.5 - СКАЧАТЬ
Версия 0.4 - СКАЧАТЬ
Версия 0.3 - СКАЧАТЬ
Версия 0.2 - СКАЧАТЬ
Версия 0.1 - СКАЧАТЬ
И меня пытались ломать сегодня почитав этот блог судя по статистике. какое счастье что я не пользую svn
Andy: ну, на самом деле проблема не в использовании SVN как таковом, а в его неправильном использовании
Тож пришёл по логу 404 ))
Похоже, скоро тут соберется тусовка, пришедшая по ссылке из лога)
Кстати, прикольная идея)
Кто еще пришел по 404? 🙂
Я тоже пришел по логу.
смотрю, юзер агент странный, ссылкой, ну и я завалился.
аналогично
А народ сорри…
Я просто в какой-то момент кажется в 3-ей или 4-й версии граббера решил провести эксперимент и вставил в user-agent сслыку на пост)))
Молодец «P.S.», сразу спалился сканированием моего сайта.
Ну почему-ж спалился…
Я просто скрипт выложил, а сканировать мог кто угодно, кто этот скрипт скачал и запустил…
Хотя с другой стороны, я тож этим делом не побрезговал — около 30 гигов «интернета» накачал, потом надоело…
А у меня чето не хочет запускаться под виндой…Пишет синтакс ошибка.
Если не сложно, скопипасти целиком как запускал и что он напечатал. Под Windows я запускать не пробовал даже
Ага, я с этим тоже сталкивался 🙂
Под виндой ошибка, ругается на синтаксис, 41 строка.
Может ошибка и нюбовская, простите, в Питоне я — ноль.
А версия 0.4 ?
Очень странно на самом деле. Можете полный текст скопипастить что там в ошибке пишет?
Имага с ошибкой : http://img146.imageshack.us/img146/387/errornu.jpg
Эх, а говорили что в 41 строке ошибка.
Вообще скачайте версию 0.5 http://seriyps.ru/blog/wp-content/uploads/2009/09/svn_grabber_0.5.tar.bz2 и запускайте не как
...>V:\\Svn_grabber_0.5\grabber.py
а установите python (версия 2.6 желательно) и запускайте так:
...>C:\\path_to_python\python.exe V:\\Svn_grabber_0.5\grabber.py
здесь path_to_python это путь к файлу python.exe который установит инсталлятор питона
Понял, спасибо 🙂
В версии 0.3 было в 41ой строчке, в 0.4 — 43 строчка.
Еще раз спасибо, сейчас опробую 🙂
Если у кого проблемы со скачкой, допустим изображений.
То ищем 172 строку и меняем «w» на «wb» (под виндой точно работает)
P.S. Автор этого фикса http://seriyps.ru
🙂
/svn_grabber_latest$ sudo python grabber.py
Exception in thread Thread-1:
Traceback (most recent call last):
File «/usr/lib/python2.7/threading.py», line 801, in __bootstrap_inner
self.run()
File «grabber.py», line 111, in run
while self.__setNextDomain():
File «grabber.py», line 232, in __setNextDomain
os.mkdir(self.domainSaveDir)
OSError: [Errno 2] No such file or directory: ‘test/https://www.***.kg/.svn/entries’
Дает такую ошибку хотя с веба все граится в ручном режиме (((