SVN лепра Удалось получить доступ к файловым структурам известнейших сайтов (в общей сложности 3320 сайтов) и в ряде случаев их полные исходные коды. Казалось бы, что в XXI веке трудно найти подобную уязвимость. Оказалось, что корнем сегодняшнего зла является вполне повседневная вещь. Наверняка каждый из вас когда-нибудь имел дело с системой контроля версий SVN.

SVN является продвинутым средством для организации совместной разработки десятков, а то и сотен разработчиков. В силу особенностей архитектуры, SVN хранит в каждой директории проекта свои метафайлы, аккуратно сложенные в скрытую директорию .svn. В одном из файлов под названием entries находится список всех файлов и директорий, расположенных в той же папке, что и .svn. Так же там находится информация о расположении репозитория, размере файлов, даты их изменения и логины пользователей, работающих над проектом.

В той же папке .svn находится директори text-base, в которой лежат последние версии всех файлов, находящихся в репозитории. Картину дополняет так же и то, что файлы имеют нестандартное расширение, которое позволяет их сразу отправить на интерпретатор, а дополнительное расширение .svn-base, благодаря которому файл отдается запросившему его человеку как голый исходный код!

Например, исходник classmates.com (это американские "Одноклассники")
Обсуждение на Хабре (осторожно! большой трафик!)

скриншот WinMerge

WinMerge - программа для визуального сравнения текстовых документов в Windows на предмет изменений в них. WinMerge умеет работать с DOS, UNIX и MAC форматами файлов, поддерживает Unicode и имеет подсветку синтаксиса. Может оказаться очень полезной, например, для определения того, что изменилось в одной версии проекта по сравнению с другой, а также для слияния изменений, выполненных в различных версиях. Весьма удобна в SVN.

скачать WinMerge