Как стать автором
Обновить

Комментарии 909

распечатать & сжечь — а-ля культ Вуду? ;)
У нас свои методы :-)
Распечатать на бумагу и сжечь винты? :)
Перед этим поцарапав. С двух сторон.
Антон, я реально горжусь тем, что мы когда-то сотрудничали. Сложно представить себе масштаб того, что вы сделали. Полезность этого и эффект для вашего паблисити. Поздравляю.
вы подтвердили существование лепры! да еще как громко!
колитесь, кто получил еще уведомление? )
НЛО прилетело и опубликовало эту надпись здесь
НЛО прилетело и опубликовало эту надпись здесь
с 2000 как минимум, именно тогда SVN впервые начал использоваться =)
Дайте-ка посмотреть, — Воланд протянул руку ладонью кверху.
— Я, к сожалению, не могу этого сделать, — ответил мастер, — потому что я сжег его в печке.
— Простите, не поверю, — ответил Воланд, — этого быть не может. Рукописи не горят. — Он повернулся к Бегемоту и сказал: — Ну-ка, Бегемот, дай сюда роман.
Кот моментально вскочил со стула, и все увидели, что он сидел на толстой пачке рукописей. Верхний экземпляр кот с поклоном подал Воланду

М.А.Булгаков, «Мастер и Маргарита»
Израсходовал последний плюс ;).
Нужно было скурить)
Я думаю, вы не понимаете всей звиздецовости ситуации.

> Были подняты прокси-сервера, написан парсер и получена свежая база доменов в зоне ru.

Они сканировали только зону .RU, а есть еще .COM, .NET, .ORG и больше сотни национальных TLD…
Да, вы правы. Но предупредить ВСЕХ физически невозможно. Поэтому было решено придать делу максимальную огласку, чтобы потенциально уязвимые в прочих зонах смогли оперативно все закрыть.
На каких англоязычных ресурсах разместили инфу?
НЛО прилетело и опубликовало эту надпись здесь
Сайты, сделанные грамотными разработчиками и обслуживаемые опытными администраторами — в безопасности, а то что поломают 10-долларовый сайт на 5-долларовом хостинге, никому не грозит, не разводите панику.
Угу. yandex тому примером.
Там же во-первых большая команда, во-вторых, админ там, как выснилось, не разбирается в безопасности (я бы посоветовал руководству книг ему что ли полезных по этой теме дать почитать и перейти на майкрософтовскую VCS, она то точно без пакости (шутка)), а программисты тут не при чем :)
Видимо имелся ввиду VSS
VCS = Version Control System, это перевод на английский термина «система контроля версий» ;-)
Таким образом, VSS — это VCS.
VCS — так не говорят, говорят SCM — Source Code Management
Типичный пример «10-долларовый сайт на 5-долларовом хостинге»:
apache.org/.svn/entries
Apache это же OpenSource, что там украдешь? Мануал по апачу что ли?? Ну вы смешной, как можно украсть то, что и так открыто ))

p.s. И вообще, я думаю опенсурсу к взломам не привыкать, в открытых движках постоянно находят уязвимости

p.p.s И вообще, ломать опенсоурс сайты или вредить их деятельности — бесчеловечно и низко, я считаю.
classmates.com, bolero.ru? Примеры взяты из комментариям к этой же записи, думаю вы при желании и еще примеров почерпнуть сможете.
Я конечно не видел западные classmates, но если это то же, что и наши «одноклассники», пусть их ломают. это позор рунета, я считаю.

И кстати, с чего вы взяли что крупные сайты делаются квалифицированными разработчиками? Может clssmates индусы делают (это к слову о 10-долларовых сайтах, не надо понимать что он и в самом деле столько стоит)?
> И кстати, с чего вы взяли что крупные сайты делаются квалифицированными разработчиками?

Скажите, а чем вообще занимаются квалифицированные разработчики?
Ваш провокационный комментарий вызывает желание ответить от первого лица:) но я сдержусь!

А если ближе к теме — интерфейс одноклассников квалифицировнный разработчик бы не придумал (ну или не смог бы выносить, если его придумали до него). И дыру с svn бы не оставил.
ну этим-то точно можно не запариваться:)
До сих пор лог не закрыт…
НЛО прилетело и опубликовало эту надпись здесь
Вот я помню сказал как-то Линуксоидам что их Линукс не так уж и хорош… А это, что, ерунда :) К тому же у меня такие значения кармы (знаю что меньше -100 должно быть :) ), что на них уже просто невозможно повлиять
Уязвимы все, вот только степень уязвимости неодинакова.
Так, ребята юзающие git! Мы тоже уязвимы в случае, если корень репозитория доступен из веба.

Причем исходники сливаются очень красиво, не надо писать никаких парсеров:
git clone example.com/.git/

К счастью, в большинстве случаев корень репа, а значит и папка .git закрыты извне.

ПС: Кто-нибудь, переведите эту статью на английский!
Для git предлагаю вот такие сниппеты экспорта:
1. Если репозитарий на продакшн сервере. Из корня репозитария:
git checkout-index -a -f --prefix=<destination e.g. /var/www>

2. Если репозитарий на удаленном сервере. Из корня вебсервера:
git-archive --format=tar --remote=ssh://:/<repo_path> master | tar -xf -
Значит, все-таки, не так бесполезна предложенная мной чуть более чем полтора года назад система защиты ini-фалйов на веб-серверах!
bolzamo.org.ru/82/
Бесполезна, есть 3 способа проще: 1) хранить ini файлы в отдельной закрытой извне папке 2) хранить код вне корня сайта (т е вообще недоступным извне) 3) прописать в htaccess/конфиг сервера запрет на доступ к *.ini, ваше решение — детский сад.
ну да, в целом все верно… За исключением того момента, что хостеры порой бывают настолько суровы, что закрывают клиентам возможность настраивать сервер через .htaccess. Явление редкое, но в природе все-таки встречающееся. Кроме того, закрывать возможность скачивать ini-файлы — бред, так как возникнут сложности с публикацией каких-нибудь конфигов для it-шных сайтов.
А расположение же настроек вне корня сайтов… Ну скажем так, пользователь продукта врядли поймет благородные мотивы разработчика, который в описание процесса установки впишет размещение каталога вне корня сайта. Скорее всего такой разработчик будет сначала трижды проклят, а потом уже, возможно, понят.
Некоторые разработчики суеверны, и не любят, когда их проклинают.
Суровых хостеров — в топку. На моем « элитном» бесплаьном хостинге хтаккесс разрешен.

> Ну скажем так, пользователь продукта врядли поймет благородные мотивы разработчика, который в описание процесса установки впишет размещение каталога вне корня сайта.

Можно напистаь установщик, кроме того нормальныен сайты устанавливает разработчик а не заказчик.
А нормальный сферический конь в вакууме ростом один метр и весом один килограмм должен двигаться со скоростью 1м/ч без ускорения.
Не придумывайте, если у вас даже нет возможности править htaccess, это ваши проблемы, и решение с комментированием — изврат и муть. А еслив .ini встретится последвательность '*/', a?
ы! А об этом я как-то в свое время не подумал… Ну тогда php-парсер умрет с ошибкой, но секретных данных не выдаст. Что же до отсутствие возможности править .htaccess — реально бывали такие случаи, и «это ваши проблемы» сказать можно, а можно подсказать решение для тех, чьи это проблемы, что я собсна и сделал. Моя проблема как разработчика — заставить свое творение работать с наименьшими запросами к среде окружения, и без капризов по поводу мелких серверных настроек.
Но насчет последовательности — улыбнуло, плюсанул :)
Оу, можно смело сказать:
Галактеко опасносте!

*Поставил наблюдение за тостером. Кто их занет
НЛО прилетело и опубликовало эту надпись здесь
присоединяюсь.
Проблема в отсутствии/квалификации CSO, и банальная лень админов написать инсталятор для выкатки кода на продакшн. Любой сканер уязвимостей находит такие директории.
В Яндексе и Опере ленивые админы? Но уж точно не параноики :-) «как страшно жить» (с)
А вообще — да, болезнь на удивление детская.
они бы еще где нибудь рядом архив с исходниками положили и думали, а мало ли не найдут! Причем тут SVN? Проблема, ИМХО, в лени.
Видимо проблема в том что разработкой занимаются одни люди, а настройкой установкой и обслуживанием серверов — другие, отсюда и бестолковость и дыры в безопасности. Я, когда ставил SNV, первым делом подумал, что это дыра в безопасности (вторым подумал — надо проверить, нет ли этой дыры на Хабре ;) ). Уверен, что любые ответственные разработчики делают также.

Это дыра из серии, «положу install.php в корень, никто же не знает что он тут лежит». Детский сад, ей богу.

Раскрытие исходных кодов не должно приводить к уязвимостям.
плюс миллиард.
это просто тупо лень и низкая квалификация. Эта новость скорее повергла меня в гнев и обида за тех разработчиков, которые не поняли очевидного «левак в паблике, да ещё и не собственноручно генерируемый — потенциальная опасность в любом случае». И не важно какой это левак. .svn это канеш совсем верх совершенства, но даже .htaccess это УЖЕ идиотизм. И это не паранойа, это совсем другой подход «программа — слева, код — справа».
тьфу «программа — слева, паблик — справа» =)
Мало того, есть люди, которые прочитали эту новость на хабре и ничего не сделали у себя на проекте. Притом, что .svn имеется и некоторую инфу от туда вытащить можно.
Вот это действительно лень… притом, в мне известных случаях, программистов…

Или отложили действия на время прихода музы подобных действий…

Статья очень похожа на «Продам исходные коды яндекса и других гигантов».

Но тем не менее страшно интересно:
1. чем все закончится с гигантами.
2. ещё десяток интересных фактов о сайтах.
3. чем защищались остальные 2253388-3320 порталов, если у них есть директория svn

>3. чем защищались остальные 2253388-3320 порталов, если у них есть директория svn
там просто не работали по SVN, либо уже были защищены.
1. Мы дождались пока все гиганты закрыли уязвимость, только затем опубликовали топик.
2. Возможно будет апдейт или новый пост, как наберем достаточно интересного.
3. Под раздачу попали крупные сайты именно потому что в них ведется командная разработка. Остальные сайты разрабатываются либо одним человеком, либо без использования SVN.
НЛО прилетело и опубликовало эту надпись здесь
Есть :) На одном из проектов, фигурировавших в «интересных фактах» дыра была закрыта минуту назад, после того, как я в аське об этом топике сказал своему приятелю, который в этом проекте работает :)
Дотком-то поставили сканить? ;)

Медленно, но верно?
2. ещё десяток интересных фактов о сайтах

тоже хочу это!
по пункту — 3. Остальные сайты разрабатываются либо одним человеком, либо без использования SVN.

Разрабатываться то они могли и с SVN, вот только разработчки отбкатав тесты, не поленились сделать экспорт на «боевой» сервер, а не разрабатывать на нём.
Скорее, это очень оригигнальное СV.
Хочется больше интимных подробностей :-)
очень, очень
Как пинки админам раздавались или в каких позах? :)
… и список топ-20 крупнейших сайтов (ну или топ-50)
1) так а если поставить аутентификацию по .htpasswd?
2) не представляю, как узнать домен, на котором у Яндекса репозиторий
Адрес репозитория как раз и написан в .svn/entries.
я наверно тупой. У меня сайт site.ru. На нем последняя ревизия, экспортированная (папки svn нету вовсе). Репозиторий расположен где-то в совершенно другом месте. Как Вы узнаете его адрес?
НЛО прилетело и опубликовало эту надпись здесь
если вы не выносили в настройках svn папки .svn в другое место, то при чекауте из репозитория, или апдейте они создаются в каждой папке.
svn export делает слепок ревизии без служебных данных SVN. Там этих данных нет.
В таком случае вы все сделали правильно, и не страдаете данной уязвимостью. Речь о другом. Народ вон рабочие копии выкладывает.
2) Репозиторий на закрытом хосте. Так что это бесполезно. А вот список файлов засветили, это да.
Спасибо за информацию.

Пошёл закрывать дыру на своих сайтах :)
Если проект написан на Ruby-on-Rails, то никакой уязвимости и быть не может.

Структура не позволяет (в паблике токо рисунки и джаваскрипты)
А рисунки и джаваскрипты вне контроля версий?
В контроле версий, но что с ними можно сделать такого, что поломает сайт?
Про «сделать» тут речь и не идёт. Но в любом .svn есть как минимум адрес всего репозитория, есть логины юзеров… в общем, не то, что обязательно всем нужно видеть.
Ну тогда я не правильно Вас понял.
За уязвимостью я предполагал, что можно вытаскивать скрипты.

А юзеров и репозиторий узнать — это конечно плохо…
В том и дело что можно скрипты вытаскивать
git с hg не создают в каждой папке свои .git и .hg каталоги, только в корне. Замусоривать все своими папками — это особенность svn)
стоит заметить что любая dvcs если сделать чекаут в паблик сервера позволит вообще слить весь репозиторий нахрен. Но так как это явная фича, мало кто, думаю, додумается до такого идиотизма)
яваскрипты и картинки и так можно скачать :)
Интересно, в конфиге Apache по-умолчанию будет запрет доступа к папкам .svn, как к файлам .ht*?
У гита есть .git :-)
Да, но только в корне, а кто же корень проекта шарит в www.
вон, три тыщи умников
Шарят…
чтобы по одной папке в корне вытащить все содержимое?
Мораль — читайте мануал по SVN (это я про svn export)
Nobody reads manuals (и в общем-то это правильно, они как правило огромные, только время зря тратить).
ага, и налоги лучше не платить. Если вы без сарказма, то вы, Тупой. И наоборот.
Мораль — юзайте svn export
Юзал — неудобно нифига. Если лежит раб. копия, то видно, какие в ней версии файлов, какие локальные правки — все четко и наглядно. Да и управлять удобнее — svn up (до любой ревизии), svn revert, svn merge.
Также экспорт всей папки с проектом невозможен по причине того, что в папке могут быть неверсионированные файлы, например сессии. Одной командой обновить проект не получиться, придется писать скрипт экспорта — а это лишние телодвижения и лишние проблемы.
Вставить в конфиг апача настройку для закрытости папки .svn намного проще и лучше будет.
Минус поставили, а теперь, пожалуйста, контраргументы?
Я серьезно, было бы интересно, чем экспорт удобнее рабочей копии, я свои привел в пользу рабочей копии — она гораздо более информативна и управляема.
Зачем на production-версии смотреть, «какие в ней версии файлов, какие локальные правки»? Рабочие сырцы вообще надо трогать только один раз при каждом апдейте, всё.

Никаких «svn up (до любой ревизии), svn revert, svn merge» в production быть не должно, это всё должно делать в другом месте, а на рабочую копию исходников должен отражаться только проверенный (протестированный) результат всех этих действий.

Если вы копаетесь в коде прямо на production-сервере, то я право не знаю, что тут можно сказать.

А скрипт писать надо все равно, потому что перед обновлением исходников сайт должен быть закрыт заставкой, а после обновления — открыт.
Я не копаюсь руками в коде, я лишь использую раб. копию как инструмент для выкладки. И с раб. копией мне гораздо удобнее и информативнее. Об этом подробнее написал в комменте ниже.
не надо ничего закрывать — надо просто апдейт сделать атомарным.
Тут много красивее путь Capistrano:

current

system (лежат папки с именем timestamp, вовнутрь которых делается как раз export. Задеплоили — симлинк current указал на последний снапшот.)

shared (some user data, logs, temp, ...)

И капистрано уже делает revert и много чего другого. Конечная цель — на сервер руками перестаешь лазить.

ЗЫ: к минусующим не отношусь.
Не нашел у вас спорных со мной моментов.
Кто сказал, что я лезу на сервак и там делаю руками svn up? Это не так, все делает скрипт через панельку деплоя. При этом в панельке можно посмотреть результаты обновления (svn diff боевой раб копии проекта с интересующей ревизией) перед обновлением, результаты собстно самого процесса обновления — этого без раб копии не посмотришь.

По поводу отделения обновляемых данных от необновляемых — у меня в раб. копии при ее создании прописывается игнор на неверсионированные папки — аналогия вашему разделению shared/system.

Ну и все-таки имеется специфика, такая, что на сервер руками все же лазят править, хотя я с этим борюсь и это неправильно, но т.к. все-таки это делают, я предпочитаю видеть измененными те файлы, которые изменили на боевом, кстати при svn up эти локальные правки не теряются.
Ок, подробнее:

>Если лежит раб. копия, то видно, какие в ней версии файлов
я и так знаю что за ревизия у меня выкачена на боевой

>какие локальные правки
боже упаси. Зоопарк такой уже проходили, наигрались, увольте.

>svn up (до любой ревизии), svn revert, svn merge.
cap deploy [-s revision=N], cap deploy:rollback…

>в папке могут быть неверсионированные файлы, например сессии.
Опять-таки, все подобное храним вне дерева исходников. Всем от этого жить проще. Пример на пальцах: есть dev-версия и production, и периодически надо вливать живые данные в dev. БД я синхронизирую, а папки от production банально копирую в dev. А так пришлось бы куски выискивать по всему дереву.

>Одной командой обновить проект не получится, придется писать скрипт экспорта
Это делается аж единожды для проекта (а дальше копипастит в другие). Кроме того, скрипт экспорта включает в себя лишь создание правильных ссылок, остальное — на автопилоте (в самом Capistrano уже много чего написано).

Я ни в коем случае не говорю что это не true way, а путь показанный мной — единственно верный. Просто показываю что с моей точки зрения удобнее, так как раньше делал именно так как описали Вы.
ок, я понял, спасибо, что поделились своим подходом, на заметку возьму софтину обязательно и организацию.
Только я пока остаюсь при своем мнении, т.к. у меня те же цели, что и у вас достигаются проще (без доп. софта и других телодвижений). Единственное, что требуется — понимание работы свн.
И я тоже не говорю, что мой подход суперпупер правильный, но я против тех, кто говорит что раб. копии не место на боевом.
Папки .svn светятся?
Так прикройте их апачем и снаружи не будет никакой разницы между экспортом и раб. копией. Мы свои .svn в корневом конфиге апача закрыли сразу, как перешли к раб. копиям (сначала, кстати экспорт использовали со скриптами).
> Я ни в коем случае не говорю что это не true way, а путь показанный мной — единственно верный. Просто показываю что с моей точки зрения удобнее, так как раньше делал именно так как описали Вы.

Мне кажется, что ваш методе действительно хорош. Я пару месяцев, после прочтения github.com/blog/470-deployment-script-spring-cleaning, планирую всё таки использовать готовые скрипты автоматизации деплоя.

Пока использую .deb пакеты (собранные на офисном сервере), и делаю apt-get update && apt-get upgrade на каждом сервере ручками.

Раньше использовал rsync исходников с офисной машины (с локальной машины скрипт заходил на офисный сервер, делали git checkout нужной версии, а потом с боевой машины делался rsync на дерево исходников, использовали ssh-forwarding и на продакшене не хранили данные о офисной машине)
Капистрано умеет и из локальной версии по rsync'у заливать сорсы на сервер. И с его помощью можно на ферме машин сделать одной командой набор действий, хоть тот же apt-get update && apt-get upgrade (при условии что процесс будет не интерактивным). Я, кстати, так правило для .svn на все сервера сразу разнес ;)

А не опишете процесс создания своего apt-репо и сборку деб-пакетов (с нуля) блогпостом? ;) Я пришел к необходимости создания своего репо с nginx, чтоб все сервера апдейтить как-раз не руками.
Обязательно попробую. А из других систем вы что-то пробовали?

Для деплоймента пробовал еще Vlad the Deployer, но он как очень урезаный Capistrano.

Для деплоймента конфигов — Puppet, но не проникся как-то.

Была еще тулза аналогичная владу на питоне — простая довольно. Но я не питонист, увы.

Основная причина выбора именно Capistrano — я программлю на Ruby & Rails. А таски для Capistrano пишутся именно на руби. Убив день-два на то чтоб сним основательно разобраться и поэкспериментировать понимаешь, что этой штуковиной можно сделать все.
Ок, спасибо за инфу. Я с руби никогда не сталкивался, но думаю проблем возникнуть не должно.

По поводу дебиановского репозитория — я не спец в нём и сделал достаточно просто и быстро, без всяких заморочек (создание простого пакета, создание репозитория, выливка пакетов по rsync в репозиторий и обновление его структуры). Из всех функций deb-ов я использовал едва ли 5% (к примеру не использовал цифровую подпись пакетов и при апдейне надо указывать --force-yes).
Если такая информация будет интересна — могу попробовать описать блогпостом. Стоит писать?
Я думаю — стоит. В комментах подскажут как чего можно улучшить ;)
мораль — билдите проект.
И отдайте вообще всю историю вашей разработки, а не только последние версии. Ах да, еще и пару экспериментальных веток с мега фичами.
Мда, а везде пишут, что с svn нужно export юзать. Видимо, лень побеждает? :-)
У гита есть .git :-)
не туда написал :-(
Мне вот тоже странно, что большие крупные проекты зачем-то хранят svn-файлы на пордакшне.
У них же всегда тестовый(-е) сервер(-а) есть.
Зачем при этом держать всё дерево на основных серверах — решительно непонятно. Ведь даже если не задумываться о безопасности (что очень сомнительно), есть же ещё и такая вещь, как захламление сервера ненужными файлами.
Есть мнение, что работать от этого быстрее система не будет.
Всегда пользовали export и не парили себе мозг.
а еще есть такая вещь как скорость обновления проэкта из тысяч файлов, после изменения двух
да, такая проблема есть.
поэтому обновление производится в часы «пик-аута» (короче, ночью-утром).
И замедление системы один раз в неделю (условно говоря) лучше, чем небольшое замедление системы постоянно.
к тому же, никаких проблем с файлами, которые срочно пришлось поправить на сервере (ну бывает такое иногда, хотя это нехорошо).
а куда спешить при обновлении?
экспорт в соседнюю папку и затем замена ей папки с проектом.
ну или так.
у нас в проекте дольше всегл переназначались владельцы файлов, так что это было непринципиально.
Это и будет основной проблемой при «обновления проэкта из тысяч файлов» (авторский синтаксис;))
и сменить линк со старой папки на новую, если что-то не заработало — обратно перекинуть
я когда-то для этих целей собирал iso-образ с проектом и монтировал его, а несколько старых хранил на всякий пожарный. но можно и так, наверное =)
Лучший вариант. Моментальный откат на предыдущую ревизию в случае проблем.
Моя интуиция подсказывает мне, что перезаливать тысячи файлов ради двух неверно. Просто нужно разработать/использовать удобный метод обновления файлов: решить эту проблему.
.svn deny all неплохой метод, имхо
Трагедия! Трагедия!
Не публикуется и не продается ни при каких условиях.
«ни при каких» это сколько? ;)
не думаю что те кому это надо приходят с деньгами… :(
Напомнило видео «Штирлиц в Одессе»: "… эти рукописи бесценны, им нет цены!!!… Но для Вас, Штирлиц, 5 тысяч.." :)
НЛО прилетело и опубликовало эту надпись здесь
Такие вопросы надо задавать приватно.
головы посыпать?
Растения удобрять :-)
Программистам в корм подсыпать
Давно пользуюсь SVN и изначально думал, что такое возможно. У меня принцип защиты немного другой: есть скрипт, который выполняет роль build-скрипта, он чекаутит trunk в tmp фолдер, удаляет все .svn, а потом все ложит непосредственно куда надо.
Почему не используйте экспорт?
Виноват, не знал =)
Кроме экспорта разузнайте зачем нужна папка hooks в репозитории и как использовать лежащие в ней файлы
Ага, у меня билд-скрипт тоже просто экспортирует на сервер. Даже представить не мог, что кто-то может использовать рабочую копию.

Ещё в FileZilla есть настройка — игнорировать директории .svn при заливке.
а где именно? что-то не нашёл ((
Вид -> Фильтры по названию файлов. Клавиши Ctrl+I. Нужно поставить галку «CVS and SVN directories».
хм, поправьте если ошибаюсь, а экспорт разве не обновляет все файлы а не только ревизию, что для гигантов критишно?
Экспорт можно сделать от определенной ревизии и заливать нужно будет только изменившиеся файлы.
А как на счёт удалённых из репозитария файлов?
Да, переписывает все.
=)
Давно написал для простого экспорта от ревизии до ревизии скрипт. Жизнь облегчает неимоверно!
Делюсь:
webiteam.ru/2009/03/eksport-iz-svn/
Перепишите его на Linux shell script. Тогда его можно использовать как post-commit хук. Вам многие будут благодарны
А в чем проблема сделать shell скрипт запускающий мой? =)
Ну… как то не кошерно ;)
Первое запускает второе, второе — третье и т.д. Лучше же один скрипт
Ребятам, провернувшим все это исследование обеспеченно светлое будущее.
И внеочередные воинские звания.
На свободу с чистой совестью, ага.
Ммм… неправомерный доступ к компьютерной информации?
Ну почему «неправомерный»? Сомневаюсь, что хоть на одном сайте было написано, что в папки .svn нельзя заглядывать ;)
Потому что неправомерный, т.к. информация явяется коммерческой тайной/интеллектуальной собственностью и т.п.

Если кто-то решит всерьез судиться — они своего добьются. Надежда на этику.
Бу-бу-бу. Вон, помнится в суде какой-то компании в иске на взлом отказали из-за того, что в баннер, выдаваемый тем сервисом, через который проходил взлом они вставили строку «Welcome...», а не всяческие «посторонним вход воспрещен». Ну правда то в Америке было.

Но все равно, если 80й порт открыт и на нем стоит web-сервер отображающий изначально публичный сайт, то либо уж признавать что любые действия без использования эксплойтов и уязвимостей в программных продуктах не могут быть предметом преследования, либо каждый раз загружая логотип яндекса судорожно размышлять «а вдруг я сейчас несанкционированно его получаю!».
Хотя может это действительно уже больше к этике и здравому смыслу относитя.
Большее значение имеет не способ получения информации, а сама информация.

К примеру существующая уязвимость в сервере контроля периметра небольшой компании не должна содержать на себе баннер «Посторонним вход воспрещен» для того, чтобы осудить проникнувшего в сеть. Да, информация не защищена должным образом, нет это не является безнаказанным.

Тут дело в этике. Негласно принято, что исследователи делают доброе дело и сообщают о проблемах из лучших побуждений и не следует на них идти с вилами. До тех пор пока все следуют этике и морали — все хорошо, но если кто-то решит пойти против, могут быть неприятности.

Сделать дело можно на любого.
Но если Вы свои пасортные данные выложите в открытый доступ, вряд ли Вы станете потом судиться со всеми, кто их мог видеть, а если и станете, то вряд ли сможете «своего добиться». Информация-то по теме поста была в открытом доступе, так что никакого смысла судиться нет.
Коды вконтакта и одноглазников почем? :))) За 10% подгоню покупателя )))))
Там же говнокод… зачем?
Насчет первого — врядли имхо.
То, что снаружи хорошо не всегда хорошо внутри… и наоборот.
Ну скажем так, кода никто из нас не видел, про одноклассники наверное слышали байки.
Качество кода не знаю, но задача решена хорошо потому что
а) все работает быстро. Значит код как минимум хорошо масштабируется (не все можно смасштабировать просто поставив доп. сервер и скопировав на него код с первого и пустив в режиме round-robbing

б) хороший поиск. Есть синтаксический анализатор (который как минимум разные варианты имени подбирает), поиск частично сам определяет что конкретно мы ищем даже без конкретного указания. Ну и какие-то другие плюшки, давно не заходил на сайт, уже не помню. Скорость тоже на высоте.

в) работает без глюков. Иногда конечно встречаются недоработки, но на таких масштабах это неудивительно. Значит что код хорошо тестируется и, видимо, не только живыми тестерами.

г) По проекту видно, что высокая скорость работы обеспечивается не только серверной массой, но и оптимизациями. Наверняка используются нереляционные базы в дополнение к реляционным, наверняка есть отслеживание скорости работы этих баз. Не могу судить, просто некоторые изменения что происходят в проекте мне кажутся оптимизирующими шагами.

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

А теперь скажите, с чего вы взяли что код там плохой? Ну то что сеть не нравится, это понятно, мне тоже, но ругать техническую реализацию мне не позволяет совесть…
Всё верно. На самом деле про говнокод написано было в шутку.
Простите, а как давно у них всё стало работать быстро и хорошо? Там почти не появляюсь, но помнится, что ооочень долго у них всё там лагало, как посещаемость выросла, так и тормозить всё стало в придачу. Очень долго не было видно никакого «ускорения», думаю, что беда была как раз в том, что нельзя было просто поставить дополнительный сервер, так как система не предусматривала масштабируемость. И вот только относительно недавно тормоза вроде бы пропали, но баги всё равно остались. Может быть сейчас там код и прилизали, но бОльшую часть времени существования проекта вряд ли там был нормальный код.
Не знаю, я не частый посетить вконтакта, но проблем со скоростью не замечал ниразу. И от знакомых не слышал жалоб (т.е. может когда-то и тормозило, но недостаточно долго/сильно для того чтобы об этом говорить). Разок видел как сайт просто лежал, но это врядли связано с кривым кодом.

Если бы вконтакте тормозил, то об этом бы на каждом углу кричали, сайт то очень популярный. И со временем начали бы пользователей терять. Не помню название сети, но топовая в Штатах сеть в свое время и слила юзеров Майспейсу отчасти из-за того, что перестала справляться с нагрузкой и начала тормозить.

Если у 0.01% юзеров наблюдаются какие-то проблемы, это не говорит о том, что код плохой. Может какой-то сервер оказался перегружен, а админы не заметили…
Но я отвечал на Ваш комментарий, а там Вы писали про одноклассники, а не вконтакте. На вконтакте у меня и аккаунта нет, про них ничего сказать не могу, но вроде бы у них там всё нормально и с качеством и с производительностью.

> Не помню название сети, но топовая в Штатах сеть
Вы, наверное, про facebook.
Поиск там отвратительный, хуже, чем где бы то ни было.
И периодически встречал баги «от забывчивости» — типа того, что в мобильной версии на главной странице вместо названия кнопки вылезает какое-нибудь дефолтное имя шаблона.
Говнокод, неговнокод. А вот «закрытые» страницы до сих пор можно просматривать.
Переписать всё красиво и продать обратно )
за 5% подгоню 2-х
Алло, Озборн Кокс?: )

Надеюсь полученной статистикой распорядитесь не менее грамотно: ) Ждем, ждём: )
«скажи ему про добрых самаритян»
Хорошая работа, заставит администраторов взглянуть на свои серверы по новому :)
Двумя глазами.
НЛО прилетело и опубликовало эту надпись здесь
чортавы каникулы в школах…
Не сталкивался с svn и реальной веб-разработкой, видать.
НЛО прилетело и опубликовало эту надпись здесь
Зато школьники писать умеют грамотно :)
Дело не в технических навыках. Просто не надо думать, что ты один такой вот умный притопал и всех разоблачил.
У «серьёзных» всё же свои сервера, на которых нет ограничений на разграничение прав. Т.е. у проекта должен быть «свой» пользователь, который может с ним делать многое, а остальные могут только посмотреть что там да как, а svn должен быть доступен только пользователю-владельцу.
Вот на виртуальных хостингах достаточно ограничений и там надо предусматривать такую «багу» и защищаться, а когда есть свой сервер, то такое можно сделать только осознанно…
Пойти ли что-ли к шефу денег больше попросить, за то что у нас не так как в опере или яндексе? :)
нене, наоборот: вот если б у вас было как в опере и яндексе — тогда давали бы денег ;)
т.е. рецепт успеха прост — выложить на сервер .svn и открыть к ним доступ! :)
Хороший одмин должен знать – без рамсов он нах не нужен :-)
да! и потом говорить, что «да у нас всё как на 3300 крупнейших сайтах рунета!»
НЛО прилетело и опубликовало эту надпись здесь
НЛО прилетело и опубликовало эту надпись здесь
НЛО прилетело и опубликовало эту надпись здесь
ну на минус тогда лови :-D
НЛО прилетело и опубликовало эту надпись здесь
я бумаю претендует на статью века.
Судя по количеству голосов за хабратопик, это все таки будет статья за все времена. =)
Ага. Господа, делайте ставки — до 1000 дотянет или нет? :-)
Дотянуло.
272 УК РФ? :)
Помоему ненормально хранить исходники(я имею в виду php и тп, не html) в пределах DOCUMENT_ROOT.

Это гораздо проще чем настраивать все что написано в статье.
Этот способ является самым безопасным и очевидным, но как показала практика — не для всех.
То что представлено в статье — универсальный способ закрытия данной дырки. То что предлагаете вы, очевидно, идеальный вариант, но подходит далеко не всем.

p.s. в своих проектах в document_root только index.php, даже статика выше корня. Спасибо nginx`у!
python: вообще нет document_root :-)
ну, index.php полюбому в DOCUMENT_ROOT
В общем вы правы, хранить код за педелами веб-директории — это очень правильно, но видимо с этим какие-то слоэности связаны, при размещении на хостинге (например если папки создаются динамически через VirualServerName)

Такс, пойду писать парсер, кто со мной? :) Мне нужны быстрые прокси и сервер с гигабит каналом…
Как жалко что на хабре нет тега irony…
почему это нет?
А это только у меня параноя или нет, хранить весь код за пределами public_html?
Щас глянул, у меня по всем проектам раскиданы папочки .svn, но всё лежит за пределами паблика.
Петух не клюнет, поп не перекрестится. Это два вменяемых человека поработали. А в мире тысячи невменяемых.
с интересом жду комментарии Бобука в следующем радио-т
Чувствую нотку сарказма в твоем голосе :)
Все равно отмажется…
Скажет, что в Гугле все еще хуже и что Гугль ему не нравится…
Столько раз хотелось ткнуть его носом и в их почту и в их «народ»… Но потом понимаю — это бесполезно.
Ткните меня, mailto:kukutz@yandex-team.ru
Я с Вами не общался, даже не слышал Вас, хотя наслышан из Радио-Т о такой культовой личности. С удовольствием бы пообщался, но боюсь, буду не интересен, ибо у меня собственные практические впечатления от сервисов :) Спор наверное станет холиваром, если вообще начнется :)
Вот Бобука слышал, и, пожалуй, не согласен во многом, что касается «какие мы хорошие и какие они плохие». Но я могу понять, про конкурентов всегда так — либо плохо, либо ничего. :)
А слушать его интересно. Без него шоу было бы тусклым.
Ну смотрите. Я же не ради поспорить, а ради понять, что вам не нравится и чего не хватает, чтобы улучшить наши сервисы.
Ой, а Вы правда отреагируете на мои предложения и комментарии? С удовольствием выскажусь :) Вот только файлик побольше создам — чтобы поместилось. И отправлю на почту.

Здесь просто скажу, что с удовольствием пользуюсь всем тем, что касается поиска. Для меня он привлекательнее. Но вот с почтой когда-то были проблемы — поэтому перешел на мэйл и гмэйл и ни разу не пожалел об этом. И бобуковские наезды выглядят немного странными :) Ну на Радио-Т есть кому его притормаживать. А за возможность высказать пожелания лично — спасибо :)
Спасибо, буду ждать.
Чувак, ты столько понаписал вместо конструктива, что я уже не верю, что ты зашлёшь Роману что-то путное.
НЛО прилетело и опубликовало эту надпись здесь
Полезно. Мне почту и что-то ещё несколько раз «чинили» по «заявке» ;)
bobuk: «Дети на Хабре обсуждают что кто-то украл „исходники яндекса“ через каталог .svn. Как говорится „I LOLd“.»

via twitter
Охохо! Слушайте, все, что я могу сказать — «браво!». Это определенно EPIC FAIL для многих компаний:)
А кто ж знал то? =)
Ну мне кажется как минимум Яндекс, которому тут 12 лет стукнуло, допустить столь глупую ошибку не должен был. Вот так вот, возраст — не показатель:)
Это эффект поговорки: у 7 нянек, .svn в корне. Чем больше народу, тем труднее уследить.
Сказано же, ничего серьезного не валялось.
Боюсь устными заверениями «Мы честно всё сожгли и всех предупредили» вы не отделаетесь.
Рисково. Накопай бы я что-то эдакое, сидел молчал бы.
Учитывая, что полезли внутрь и начали читать, то да… можно и попараноиться.
Если бы просто нашли, не читали, но сообщили — благое дело.
НЛО прилетело и опубликовало эту надпись здесь
Работа то тут как привязана? Уязвимость с бородой до пола — тут ничего нового не сделали. Другое дело что так массово ее применять раньше никто не решался. Потому спасибо за исследование и сотрудничество и все. Каким образом это поднимет репутацию или даст новую работу?
НЛО прилетело и опубликовало эту надпись здесь
Даже тут в комментах пруфлинков на описание уязвимости достаточно.
НЛО прилетело и опубликовало эту надпись здесь
эпически!
и это не фейк. нашел один русский поисковик, зашел по нему в .svn/entries и чуть не ослеп.
Я тоже нашел. Никому не скажу.
я сразу написал им в сапорт. теперь прикрыто.
Прикрыли прямо на глазах.
поисковик был nigma.ru
Кстати, отблагодарили.
Прислали фото сисек Анны Семенович в высоком разрешении?
Вадим, у тебя какое-то странное представление о благодарности…
Это просто местный мем — тестировать поисковики (а особенно нигму) на анне семенович
Какова логика работы вашего кравлера?
Он понимает, что во многих местах mod_rewrite подсовывает что-то, что никак не фалы с .svn/?
Или Вы в итоге обрабатывали его результаты вручную?

Поищите еще служебные файлы CVS. Её тоже многие используют :)

И таки да, вмест совета админам закрывать доступ к файлам на уровне вебсервера, лучше рекомендовать не пускать программистов в DocumentRoot, а писать для них инсталятор. Который и файлы лишние уберет и права правильные поставит.
Вторая версия парсера обрабатывала синтаксис получаемого файла. Вручную ничего не обрабатывалось.
Всё автоматически. На вход подаёшь список доменов, на выходе имеешь аккуратно рассортированные svn-версии проектов :)
НЛО прилетело и опубликовало эту надпись здесь
знание того, что такое svn никак не связанно с необходимостью его использовать в проекте =)
А почему только о русских доменах речь? А кода Гугла у вас нет?
Самые крупные и известные были проверены в большинстве зон (opera.com тому подтверждение). На более мелких не хватило мощностей (2 года парсить мы не были готовы), да и желания.
Так с какими из крупных зарубежных удалось?
opera.com =) globe.gov, были еще другие, но это тема уже другого поста
НЛО прилетело и опубликовало эту надпись здесь
Нет, до доткомов надо вам все-тки добраться. ну ее эту работу)))
Парни, вы наверно сейчас обломали очень много народу, которые об этом знали, использовали но помалкивали:)
Да. Счас народ распросил, оказывается сайты уже неоднократно пытались ломать таким способом за последние месяца два… Хотя я уже не уверен, может это авторы стать и были?
было 2 глобальных скана. И третий поверхностный. на момент третьего, многие известные проекты уже позакрывали дыры
НЛО прилетело и опубликовало эту надпись здесь
Какой шпионаж. Исходный код лежит в отрытом доступе без пометки «секретно» и без копирайта. Бери — не хочу
Ну так «брать» не надо :)

Это как доказывать, мол «пиратством» не занимаюсь, потому что на торрентах лежит в открытом доступе. Если что-то сейчас случится с этими кодами, то шишки посыпятся на тех, кто первый о них открыто заговорил.

Будем надеяться, что всё обойдется :)
НЛО прилетело и опубликовало эту надпись здесь
в доткоме о подобной уязвимости знают? где-нибудь проскакивало?
не пали хату раньше времени, у нас еще есть шанс :)
НЛО прилетело и опубликовало эту надпись здесь
Так забавно читать хабр на английском :)
Особенно впечатляет блок «Работа»!
Буржуи обзавидуются когда увидят размер зарплат в России.

Senior Mobile Software Developer 95 000 USD / month
Coder 30 000 USD / month
Webmaster s / n Contract
Sales Manager (all regions) s / n Contract
Programmer PHP / JS s / n Contract
Freelancer-joomler. Novosibirsk s / n Contract
PHP Programmer 50 000 USD / month
You made my day!

А я то, наивный, за рубли работал!
ну если без month, то вполне с их сопоставимо ;) у них дотнетчик, судя по сайтам получает примерно теже 60000-80000.
Глеб, надо отразить всю сенсационность в заголовке. Например: «BREAKING: Source Code of MAJOR Internet Projects Were Got Through /.svn vulnerability»
Зря, наверное, выложили) Скоро будет хабраэффект на хабре)
НЛО прилетело и опубликовало эту надпись здесь
«Including Yandex (Russian search engine )»

А про Яндекс то вроде как неправда.
жесть, сразу все закрыл, у мейла кое где еще пашет ;)
Хочется побольше интересных фактов! :)
Отличная работа :)

Еще одно подтверждение о пользе хранения исходников вне public_html, рельсы, джанги и Git рулят :)
Товарищи Авторы! Что с Яндекс-деньгами и Вебмани? Имеет смысл выводить их поскорее? :)
Нет, в этом плане у них все прикрыто.
Слава яйцам…
Побольше бы таких людей, которые найдя дырку начинают сканировать на её наличие целый рунет, и не для своих пагубных целей, а ради интереса, который принесёт только пользу для незнающих владельцев сайтов, потому что их предупредят. Спасибо, что вы есть!
В стародавние времена таких людей называли хакерами, пока журналисты не извратили это слово, до значения кибер преступников.
Спасибо, Кэп!
все новое это хорошо забытое старое :)
Пост доказывающий превосходство bzr над svn [x]
Bazaar отдаёт только по ssh, никаких http. Если конечно не ставить специально веб-интерфейс.
Проблема не в инстументе, а в том как этот инструмент используется.
кажется вы ничего не поняли. объясню — bzr так же подвержен данной проблеме
НЛО прилетело и опубликовало эту надпись здесь
svn+ssh://… ага
Нашли из чего делать откровение. Это же обычная приватная папка, первым делом закрывается, как и «Index of» апача и прочих веб-серверов. Жаль что такой низкий уровень разработчиков и администраторов.
Я восторжен вами до безумия!!!
Я смотрю, многие рванули доказывать превосходство других систем контроля версий над SVN на базе этого топика. Очередной раз из-за «криворуких» пользователей страдает технология :(

Для того, чтобы выливать сырцы на сайт, есть svn export. Это же ясно как божий день. Как можно додуматься лить в веб исходники со скрытыми каталогами .svn? Небось еще и скрытые файлы IDE (такие как .project) туда же попадают…
Тут вы немного не в теме.

Есть своя прелесть, когда проект находится под контролем версий и его можно обновить до любой ревизии в течении пары секунд.
Ага. Вы еще скажите, что «по живому» обновляете production из trunc-а.

Для обновления пишутся скрипты, которые закрывают сайт, потом экспортят код, делают какие-то действия если надо, а потом открывают сайт.

Мне еще интересно, что вы будете делать, если посреди «живого» апдейта упадет связь с SVN-сервером?
Да, я обновляю svn из trunc, правда через деплоймент скирпт :)
Вопрос в силе. Что будете делать, если в середине обновления на пару часов отвалится сервер? Т.е. половина файлов будут обновлены, половина — нет.
почему нужно экспортировать именно в папку с продакшном, а не в соседнюю?
Вообще-то я так и делаю, а вот товарищ ukko, судя по написанному выше, предполчитает даже не экспортить, а апдейтить прямо в продакшн. Вот ему и вопрос о том, что будет делать при сбое?
А у него просто неважные проекты. Он не морочится.
Конечно же — паниковать и переживать :)

Но, на моей практике у меня ещё ни разу svn не давал сбой при апдейте. Тут важнее второй вопрос… Что вы будете делать, если деплоймент скрипт будет написан с ошибкой и во время обновления он внезапно отвалится :)

И в том и в другом случае есть схоластические данные, которые сравнивать просто нереально.

Да, вы намного удобнее используйте способ для обновления своих проектов, и, вероятно, умнее меня и многих других ребят, про которых написан этот пост, но не стоит строить из этого целую драму.
Вот люди — им говорят, как правильно делать, они еще спорят!
ппц, +1. Я даже отвечать ему ниче не буду, пшёл он в жопу.
Есть люди, которые коммитят .project?
В этом уж точно ничего страшного :-)
Ну, если у вас несколько разработчиков, использующих одну и ту же IDE, и у них разные настройки проекта, то все остальные будут очень рады
Повбывав бы.
Есть. У меня даже иногда получается:)
Также когда то в территории читал исходники на тестовом сервере, только там было CVS, поэтому адрес был http://***.territory.ru/CVS/Entries
НЛО прилетело и опубликовало эту надпись здесь
НЛО прилетело и опубликовало эту надпись здесь
броню бери, броню!
«Получить работу» — и обязанность каждый день ехать через пол-Москвы в час пик в офис, вкалывать там весь день и обратно, возвращаясь уже вечером? Сомнительная награда какая-то ((
НЛО прилетело и опубликовало эту надпись здесь
Ну ок, может я не прав, но я просто при словах «они могут получить работу» представляю себе конторы вроде Яндекса или Студии Лебедева, с кучей понтов и заявлениями типа «вы у нас будете по 10 часов в день работать», хорошо если я ошибаюсь.
НЛО прилетело и опубликовало эту надпись здесь
Есть и нормальная, и в Н-ске.
НЛО прилетело и опубликовало эту надпись здесь
я не ломатель, я строитель =) и моя профессия приносит мне достаточно денег, чтобы не «таксовать» по ночам.
Не всё в жизни измеряется деньгами. А тебе я сочувствую — ради денег ты готов на всё
НЛО прилетело и опубликовало эту надпись здесь
ты спалился постом ранее, а теперь просто отмазываешься (; Представляю, как ты после прочтения поста истекал слюной и рвал волосы на голове от зависти.
НЛО прилетело и опубликовало эту надпись здесь
Твоя агрессия лишь подтверждение тому, что я был прав. И да, до какого свидания? Я тебя в жизни не видел. — Ещё вопрос кто из нас закинулся чем-то.
Деньги зарабатываются созиданием, иные способы называются «делать деньги».
Быстренько парсим com зону.
Отсылаем Медведедеву скрипт для .gov? :) Статистику для дотком неплохо бы получить, но я сомневаюсь, что что-то дельное выйдет…
А ведь еще есть .net, .org, .ua… И еще много-много подобного.

Вопрос к авторам статьи кстати касательно рунета. Вы скан зоны .su делали?
да, там 80к доменов если не изменяет память и бажных сайтов копейки
так точно
уязвимы 389
Развертывание в 21 веке в таких компаниях как Яндекс и Опера делается через простое копирование? О сколько нам открытий чудных… Это не уязвимость, это рас*****йство.
И забавно смотреть на предлагаемые решения по запрету доступа к .svn — что вообще эта папка делает на публичном сервере и зачем она там?
Была сихнронизирована скриптом. Да, нужно было вписать в список исключений. Но снова же, зависит от проекта. HTML/CSS/XML/XSL… Кому от этого какая польза?
Для апача:
RewriteEngine on
RewriteRule .*\.svn/.* — [F]

для nginx:
location ~ /\.svn {
deny all;
}
Лучше так:

RewriteEngine On
RewriteRule ^\. — [F] # От файлов начинающихся с точки
RewriteRule ~$ — [F] # От бэкапов vim
О, и вы сайт наживую вимом правите. :)
Я нет — но бывают такие товарищи. А потом забывают удалить бэкап. Лучше перестраховаться.
У меня проще сделано в .htaccess прописана всего одна строка:

RedirectMatch 404 /\.svn(/|$)
согласен, в данном случае, гораздо разумней показать 404 нежели 403
>10. Многие уверены, что назвав директорию с phpmyadmin примерно «__xpma123uff__» но сохранив пароль в конфиг, это хорошая защита;

Если говорить про сам проект, то хранить пароль в файле придётся.
Если доступ к базе есть только из локальной сети, а запустить чужой скрипт на серверах не даст система безопасности — не вижу никакой проблемы.
А если речь именно о пхпмайадмин — пароль в файлике хранить конечно не надо)
И разрешить доступ к нему только с доверенных айпи.
если факт кражи пароля не страшен — то какой смысл в пароле вообще? =)
я не утверждал, что кража пароля не страшна.
я сказал лишь, что если получен доступ к сайту для записи — это уже до чрезвычайности плохо.
а встречный вопрос — вы где предлагаете хранить пароль к базе? в базе? в другой базе? в мемкеше? на листочке записать?)
да нет, конечно в файле, просто вы двусмысленно выразились.

а так — файл за пределами паблика + жесткое ограничение по ip/подсети для таргетного логина. Лучше и не придумать =).
Что-то я сомневаюсь если честно насчёт «гигантов» — что у них такие лодыри работают которые не следят что на сервере лежит :)

Пруфа маловато :)

По мелочам — возможно, да)
если только мелочь какая-то, в нормальных местах все закрыто, не пробьешься и уж тем более нет файлов свн в документ-рут
так, теперь понятно про какое шоу шла речь. все красивое просто
НЛО прилетело и опубликовало эту надпись здесь
Рано вы выложили, как сообщают иностранцы:
«It's working on MAJOR .com sites right now!»
Чувствую, что-то грядет…
Иностранцы это я :)
Оу, «А вашу маму и там и тут показывают»=) Пардон, я просто за здоровый кипиш:)
Кажется, в этой заметке есть блеф. Точно знаю, что mail.ru не использует SVN. И что DocumentRoot там с системой контроля версий никак не пересекается.
Есть подозрение, что про указанные Рамблер, Яндекс и иже с ними тоже инфа не совсем правдивая.
мы все точно знаем что mail.ru не использовали исходных кодов миранды
Это-то здесь при чем?
И, кстати, да: Как Вы себе представляете использование кода Миранды (Чистый C) в проекте под Симбиан (Стогое ООП)? Я хоть и не являюсь фанатом этой компании, но все же склонен верить людям, имеющим непосредственное отношение к разработке агента, которых я узнал задолго до появления их симбиан-клиента.
>И, кстати, да: Как Вы себе представляете использование кода Миранды (Чистый C) в проекте под Симбиан (Стогое ООП)?

Лично я себе это представляю легко.
это пять, мужик, это пять )
Однозначно, это пять! :)
На mail.ru были уязвимыми auto.mail.ru и mobile.mail.ru
В это охотно верю. На самом деле, эти проекты не так уж много общего имеют с тем, что имело бы смысл украсть у компании (намекаю на почту, блоги, фото, видео и соцсеть)
никто про «воровство» и не говорил, интересней сам факт
Скандалы, интриги, расследования, исходные коды.
НЛО прилетело и опубликовало эту надпись здесь
Мда, рано или поздно всё уходит в паблик :(
НЛО прилетело и опубликовало эту надпись здесь
За checkout в директорию сервера — расстрел на месте, причем уже давно.
В крупных проектах, оказывается, народ совсем обленился.
Ткнул носом нашего программера, т.к простая проверка показала полную уязвимость наших проектов)
А он то тут причем?

Программер должен программировать, а не искать и испровлять уязвимости стороних приложений.
нефиг делать чекаут на фтп
Ага, протестуем против угнетения беззащитных программистов!

Действительно, при чем тут он? Скрипты же работают, сайт стоит. Хотя… если это он настраивал svn — думать надо прежде :) Да и не виноват он. Сам, наверное, в шоке сидит, за голову держится…
Не бейте его.
Сразу видно что подход just for fun потому что реально смысла лопатить 700 млн доменов нет. Достаточно взять самые известные, alexa.com как источник данных вполне подойдет.
НЛО прилетело и опубликовало эту надпись здесь
google inurl:.svn/entries

много интересного
Для этого нужна ссылка на эту папку, бот гугла сам по себе туда не забредёт.
вместе с тем как-то он туда забредает, судя по размеру выдачи
Где-то засветилось и привет.
не обязательно, для этого достаточно зайти туда из под какого нибудь FF или оперы особенно с установленными гуглобарами и он пойдет исследовать новые ссылки.
Или так: site:.com/.svn
я в шоке конечно, пойду прогуляюсь по .com =)
Ну что, дамы и господа, сканим и делимся? :)
В познавательных целях.
Каково распределение языков программирования у проектов?
php в большинстве. Но частенько встречал и руби. перла меньше.
яндекс со своим xml достал ;(
А asp.net совсем нет?
У FTP клиента filezilla папка .svn добавлена в исключения для закачки на FTP
Так что люди пользуйтесь правильным FTP менеджером.
Вы деплоите из SVN по FTP? о_О
Я деплою из копии проекта который извлечен для окончательной проверки
НЛО прилетело и опубликовало эту надпись здесь
А болеро-то под Gentoo вращается.
>phpinfffo.php.svn-base

да отличный способ скрыть phpinfo добавив буквы ff :)
Список файлов сам по себе уже представляет опасность, ибо всякие неубранные отладочные скрипты могут злоумышленникам пригодиться.
Решение для nginx выглядит как

location ~ ^/\.svn/.+$ {
deny all;
}
ждем «новых» стартапов -_-
Решение для Lighttpd

url.access-deny = ( "~", ".inc", ".svn" )
на всякий случай в каждом $HTTP[«host»]=~
вот так точнее для версии 1.4
url.access-deny = ( "~", ".inc", ".svn", «entries», «all-wcprops», «dir-prop-base», «format»,".svn-base",".svn-work" )
а для вресий 1.5

$PHYSICAL[«path»] !~ "^/\.svn" {
access.deny-all = «enable»
}

Внезапно.
Итог — не используйте svn update для продакшна, используйте svn export.
Да, точно
НЛО прилетело и опубликовало эту надпись здесь
:)
ух, быстро отреагировали
НЛО прилетело и опубликовало эту надпись здесь
Разрешите поинтересоваться. А как же те проекты которые не используют веб интерфейс для доступа к свн, но используют svn+ssh?
а какая разница?
Ну насколько я понимаю в таком случае разница все же есть, так как для получения доступа к исходникам так или иначе требуется прямой доступ к серверу. А это уже другая история. Я ошибаюсь?
Неа, «случайно» оставшиеся директории .svn в работающем проекте обычно не имеют защиты авторизацией.
Ага, спасибо, под словом «случайно» сразу понял о чем идет речь
В проектах которые используют frontController такой проблемы нет, потому что все и так идет на index.php
А как по вашему на таких проектах отдаются картинки и цсс за исключением случаев с отдельным доменом)?
Как то так
RewriteRule !\.(js|ico|gif|jpg|png|css)$ index.php
Дамс…
А вот так не судьба?

RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
Расскажите уж нам, что слили? :)
И ждаь ли нам яндекс-подобных, мэйл-подобных ресурсов в ближайшем будущем?)
Эм… Ну или вы тег <irony> забыли, или не внимательно читали статью, т.к. там про это сказано отдельно.
Вообще-то да. Ирония.
Статью прочел, но… надежда-то все равно осталась, что «не все сгорело в пожаре»)
Началась охота
упс, не туда
Заодно можно провести исследование оперативности саппорта многих интернет-проектов.
> Были получены исходники 3300 глобальных интернет-проектов
Дайте ссылку скачать исходники.
да блин вот так одним комментарием сам себе нагадил и в карму и в рейтинг…

в принципе если кто получил исходники и сам их юзает а другим не дает, только шуму поднял
Я никогда рабочую копию не выкладываю на сервер. Даже подсознательно это как-то на ум не приходило.
Не работать Вам в Яндексе, Рамблере, Мэйле и ещё в 3300 глобальных интернет-проектах…
Эх, пойду с горя напьюсь ))
НЛО прилетело и опубликовало эту надпись здесь
да, но там автор просто описал эту возможность, а здесь ребята всё описали и дали всем понять, что УЖЕ всё скачано
мы и не претендовали на авторство, мы опубликовали инфу о исследовании. Дырке 9 лет уже.
НЛО прилетело и опубликовало эту надпись здесь
линк на офф сайт в веб архиве за 2000 год? я к тому, что дырка была сразу как только появился SVN. Кто нашел её первым это долгий спор. В рунете упоминания о этом я не нашел, поэтому легко и написал, что мы её нашли. Однако авторство отстаивать я не буду, она настолько простая, что явно не я один такой умный =)
А вот то что другие молчали ранее, это уже не наши проблемы =)
НЛО прилетело и опубликовало эту надпись здесь
=) бывает человек что-то делает не правильно и его учат делать правильно. А бывает у него изначально руки из жопы =) Уязвимости бывают разные. Какие-то лечат патчами, какие-то лечат по другому. Наличие в каждой директории проекта метадиректории SVN привело к данной уязвимости. По сути дырка в руках админов, которые создают локальную версию SVN на продакшен сервере.
Однако простым языком, это дырка в SVN.
НЛО прилетело и опубликовало эту надпись здесь
если человек направил себе в ногу любой огнестрел и спустил курок, то проблема в человеке. А вот если Десерт сам стреляет, если забыть поставить его на предохранитель, то это проблема десерта.
СВН создал ситуацию, которая при совместимости с кривыми руками админа может приводить к подобным последствиям. Если бы в силу своей особенности SVN хранил все исходники не с расширением svn-base, а с дефолтовым расширением файла, проблемы бы не было.
> Результаты 1 — 10 из примерно 134 000 для inurl:"*.com*.svn/entries".
Голактеко опасносте! Пыщ-пыщ :-)
следует сказать, что от поискового робота директории можно (и нужно?!) закрывать… похуй он и в африке похуй)
Мда, я в шоке…
Я конечно все понимаю — svn вещь хорошая, пользоваться надо…
Но вот чтобы так — получение доступа ко всем исходникам… Плюс доступ ко многим MySQL-базам…

Статья всколыхнула общественность сильнее чем украденные с вконтакте пароли…

Ребята, только не надо ничего ломать — ни в рунете ни в зарубежье. Все-же сервисами все мы пользуемся. Это понятно, что после того, как вам все разжевали — легко ломать. Но не стоит этого делать. Чисто по человечески :)

Все, что нажито непосильным трудом…
НЛО прилетело и опубликовало эту надпись здесь
Ещеб он был уязвим. Его небось по 40 раз в день кто только и как только не атакует…
Кстати наверное все таки стоит вспомнить, что не все исходники, а только части.
Например точно известно, что сервис яндекса «Куда все идут» разработан на питоне, и там .svn вообще никак не получить.
Ни один крупный проект Яндекса не был подвержен описанной уязвимости.
НЛО прилетело и опубликовало эту надпись здесь
В случае с www.ya.ru, который вообще статика, это не уязвимость. Все файлы с www.ya.ru и так скачиваются браузером.
НЛО прилетело и опубликовало эту надпись здесь
Что «эта информация тоже»?
НЛО прилетело и опубликовало эту надпись здесь
Не более секретна чем Google Apps для google.com
https://www.google.com/a/google.com
А что в ней секретного? 0_о
Если не сервер, скажите другие репы и пользователи, которые имеют к ним доступы. Так же интересно, если не секретно, как обновляются сами механизмы поиска.
Извините, я не понял ничего в вашей первой фразе. Поясните, пожалуйста.
сервер==секрет. Сегодня какая-то жесткая обратная связь, аж пальцы устали =(
Яснее не стало.
Попробую на пальцах.
Если вы считаете, что информация о расположении репозиториев (загибаем первый палец) и пользователей, кто имеет туда доступ (загибаем второй) не является секретной информацией, то не могли бы вы предоставить (загибаем третий палец) нам полный список всех адресов в репе и всех пользователей (загибаем четвертый) от проектов яндекса. А так же (ну и пятый палец), расскажите как получить не секретную информацию о обновлении более низких проектах яндекса, например поискового механизма.
Вы предлагаете мне выполнить некоторую работу. Зачем мне следует ей заниматься? Не вижу смысла.
Эм… имя сервера (имеющего, как минимум, PTR-запись) секрет? O_o
Берем IP сайта любой компании, идем на ripe.net, ищем все подсети данной компании и сканим (читай: резолвим) все IP-шники из этих подсетей в имена серверов.
Где секреты-то?
допустим по открытым портам можно понять где и что стоит, но логин пользователей как я получу? А ну да, можно подобрать, никаких секретов.

Ситуация1:
Меня зовут Вася, я дружу с Таней. Таня ходит в гости ко мне, я к ней. Мы умерли счастливые и здоровые.

Ситуация2:
Меня зовут Вася, я дружу с Таней. Таня ходит в гости ко мне, я к ней. Как-то мы пили и Таня сказала, что у неё есть сейф в подвале и там миллион баксов.

Чувствуете разницу? Конец второй истории скорее всего будет как и первый, но сам факт.
В жизни для Тани все закончится печально. Но не факт что сейф удастся вскрыть.
Или вы предлагаете использовать терморектальный криптоанализ к владельцу логина?
Кстати не факт что порты открытыми будут ;-)
вот именно о этом я и говорю, что не факт, что сейф будет вскрыт. Однако сам факт владения подобной информации уже уязвимость для Тани.
IIS такой проблеме не подвержен ) Он тупо не может отобразить файл без расширения, так как не знает его mime-type
а как фугурирует расширение при распознании mime/type? или ему можно скормить jpg, который не image, а text? :)
В настройках IIS настраивается четкое соответствие расширения mime-type'у. Если такого нет — 404.
А я помню, когда mvc только появилось был хак с записью обработчика для файлов без расширения, так как файла конкретного в mvc нет и с этим были траблы — как с этим сейчас?
На IIS версии < 7 или на IIS7 в Classic Mode все также — надо прописать. Но прописывается в этом случае не mime-type, а обработчик — все запросы посылаются в asp.net. Так что в этом случае запрос до svn файлов не дойдет.
Викимедии это не страшно, они и так open-source
По-моему парсер писать скоро будет не нужно. Осилим за одну ночь. Ну-ка все взялись! :)
wowhead прикольно. только там никак не слить исходников их.
text-base не нашел. а к svn://fs.allakhazam.com/svnroot/WowheadWWW/trunk доступа нет)
или я че-то не так делаю хз)
для для svn-а там пароля не хватает)

wowhead.com/.svn/text-base/index.php.svn-base
просто пустой файл

Дальше копать было лень)
VeryCd до сих пор открыт ))
Так им и надо! :)
На самом деле это не совсем уязвимость. Ну скажем, можно ли считать уязвимостью тот факт, что некто сохранил пароли в текстовом файле в корне сайта? Или картинки проименованые автоинкрементно в общедоступной папке?
Если разработчик сделал что-то похожее и не знал, то он просто малоопытен. А если знал, то просто раздолбай.
Поэтому в контексте статьи, это не уязвимость, а раздолбайство.
Вы имеете в виду _секретные_ картинки в общедоступной папке?
типа того, я имел ввиду картинки, ссылки на которые не указаны в публичных страницах
Больше всего огарчило то, что некоторые даже спасибо не сказали ( ну народ!
кстати да, смешно получилось =)
Щиро :)
Вторая версия скрипта была уже шустрее, работала в несколько потоков с двух серверных машин и правильно различала коды ответа содержимое полученных страниц.

Исходники в студию? =)
Разочарован и таким глупым использованием SVN, собственно данная его особенность подтолкнула меня на переход на GIT несколько месяцев назад. А вообще, конечно Export никто не отменял, Extract так вообще конфетка. Хуки тоже, ну как так.

Сильно разочарован фактом, что для такого большого числа людей ТУТ это стало таким откровением. Филиал ][акера прям какой-то. Но не смотря на всё, это не такая критическая «уязвимость», как её тут распиарили, просто напоминание о том, что нужно думать головой.

«Были получены исходники 3300 глобальных интернет-проектов» — да желтизна это мерзкая, каких глобальных? Яндекс? Поисковый движок вытащили или что? Читаем «интоересные факты» и что? Да ничего. В заголовках HTTP ответа 80% этого же можно поиметь.
Ой да да да, простите, всё. Вселенная коллапсирует, мы все умрём.
кстати, последние версии svn при прикрутке к Apache и указании настроек SVNPath или SVNParentPath не разрешают указывать папку видимую из DocumentRoot… так сказать как раз решение этой проблемы
публикуйте исходные коды уже
интересно
куски хотя бы… наверняка есть забавные и/или интересные места
НЛО прилетело и опубликовало эту надпись здесь
Вроде бы есть всем известная схема текст-разработка-продуктив, но лень побеждает :-)

Ща все начнут аналогичные сканеры делать для сайтов в .com/.net/.org…
НЛО прилетело и опубликовало эту надпись здесь
угу… разве что посмотреть логин)
Ещё недозакрыто на bolero.ru, но там php-файлы выполняются безотносительно наличия .svn-base, как и на многих других проектах. Но какой простор для социального инжиниринга… =)
усё. прикрыли.
НЛО прилетело и опубликовало эту надпись здесь
Хотите побить мой рекорд? :)
НЛО прилетело и опубликовало эту надпись здесь
Ну, собственно, вот.
НЛО прилетело и опубликовало эту надпись здесь
Ну, коммент про дискеты там тоже есть.
НЛО прилетело и опубликовало эту надпись здесь
Да чего там, если посмотреть содержимое дисков Wii от SEGA, там можно найти те же папочки .svn. Правда, вроде пустые.
Особо смешные места из исходников хотя бы на говнокод.ру постите… Ну пожалуйста:)
Самую большую уязвимость в ИТ представляет человеческий фактор, это давно известно. И всё же, я сомневаюсь, что авторы первые об этом узнали. Просто они оказались совестливее других, за что им спасибо:)
svn — одна из возможных дыр в безопасности, которые можно закрыть просто не помещая код в открытую извне папку.

Т.е., в папке public лежит только index.php (или что у вас там запускает приложения на других языках), а весь остальной код и когфиги — в недоступных извне папках.

На php это выглядит примерно так:

index.php:
require_once 'Zend/Application.php';

$oApplication = new Zend_Application(
getenv('APPLICATION_ENV'),
'/path/to/your/application/config/file.ini'
);

$oApplication->bootstrap();
$oApplication->run();
Путь к ZF прописан в php.ini, но можно и вставить в index.php прямой путь

.htaccess:
SetEnv APPLICATION_ENV production

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} -s [OR]
RewriteCond %{REQUEST_FILENAME} -l [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^.*$ - [NC,L]
RewriteRule ^.*$ index.php [NC,L]

Причём, .htaccess можно переложить на уровень выше.

Вряд ли знание содержимого этих двух файлов чем-то поможет злоумышленникам или выдаст корпоративные секреты :)
Ну да, перед созданием приложения стоит продкмать схему его размещения по папкам, права прописать, и тд. в общем системный поход к безопасности. но лень же. распаковать архив в кореь куда проще :)
я так понял, разговор о крупных самописных приложениях, которые коммитятся в продукцию системой контроля версий, а не о готовых cms, которые устанавливаются распаковкой архива
НЛО прилетело и опубликовало эту надпись здесь
НЛО прилетело и опубликовало эту надпись здесь
И?
у них в свое время PHP интерпретировался на директории доступной для public upload с ftp, так что ничего удивительного
Я в шоке.

Развертывать из транка надо только экспортом и никак иначе!
НЛО прилетело и опубликовало эту надпись здесь
НЛО прилетело и опубликовало эту надпись здесь
НЛО прилетело и опубликовало эту надпись здесь
Жесть. Самая настоящая жесть. Просто из-за таких мелочей можно столько всего почерпнуть…
НЛО прилетело и опубликовало эту надпись здесь
НЛО прилетело и опубликовало эту надпись здесь
Два прекрасных человека — Генерал Очевидность и Адмирал Очевидность.

Но — таки да, лень администраторов действительно зашкаливает.
Русские сломали интернет. Я знал!
НЛО прилетело и опубликовало эту надпись здесь
кстати спасибо =)
Спасибо :-)
Блин.
Поздравляю, да =)
Ваш эпический топик долго держался, вы тоже молодец. Но всё когда-нибудь кончается :)
Спасибо =) Мы напишем новый ))
Похоже Гугл знает, вот такой запрос

inurl:.com inurl:.svn/text-base/

ведет к сообщению, что я вирус и капче
НЛО прилетело и опубликовало эту надпись здесь
я извиняюсь, конечно, но
Results 1 — 100 of about 1,440,000 for inurl:.com inurl:.svn/text-base/
НЛО прилетело и опубликовало эту надпись здесь
А кто сказал что он это не делает? :)
появление этого сообщения и капчи не зависит от запроса. Когда в корпоративной сети эпидемия какой-то гадости была — выскакивало постоянно, т.к. все на 1 внешнем ip
Страшновато писать в пост с таким количеством комментариев, но, всё же, нельзя ли узнать поконкретнее, о каких проектах Рамблера идёт речь? И где в исходных текстах вы встретили упоминание Яндекса?
на некоторых подпроектах рамблера. сейчас проверил, тех файлов, явно указывающих на использование сервисов яндекса уже нет.
Я знаю только один проект Рамблера, на котором мог упоминаться Яндекс — это Рамблер-Друзья, которые поддерживают сборку записей, в том числе, и с ярушечки. К сожалению, я не знаю человека в Рамблере, который бы получил упомянутое в записи сообщение о баге. Странности добавляет то, что наши разработчики проверили свои проекты (а также друг друга), и никто из них этой дыры не нашёл. Впрочем, я, действительно, не могу говорить за всех, поэтому мне и интересно, в каких из наших проектов был такой большой прокол в безопасности.
НЛО прилетело и опубликовало эту надпись здесь
:) срочно нужен userscript и\или addon для FF, IE, Chrome и т.д. «FastCheck/.svn/entries»
так вот ЧТО означала статья — Google уходит в OpenSource
дааа, ТАК надо уметь выйти… утащив за собой и всех остальных :)
У alexa.com есть Top 1M сайтов. Список в csv можно скачать по ссылке — s3.amazonaws.com/alexa-static/top-1m.csv.zip

Продолжать? ,-)
Да, интересно было бы прогнать по верхним 10000.
НЛО прилетело и опубликовало эту надпись здесь
НЛО прилетело и опубликовало эту надпись здесь
НЛО прилетело и опубликовало эту надпись здесь
а как получить список всех файлов?
например в classmates.com/.svn/entries нет ничего про artoon122904, а значит как вы узнали об этом файле?
НЛО прилетело и опубликовало эту надпись здесь
теперь понятно, как появился вконтакте
0_0 это круче
Про Лепру и перл — давно известно, помнится искали они программиста перлового.
Результаты 1 — 10 из примерно 134 000 для inurl:"*.com*.svn/entries"
НЛО прилетело и опубликовало эту надпись здесь
Офигеть.
Топик мгновенно стал самым популярным за все время!
НЛО прилетело и опубликовало эту надпись здесь
Архивы тайного мирового правительства. Где-то в недрах SVN лежат планы по порабощению Человечества.
архивчик очень крутого сайтика)
может кто-нить оттуда все слить одним разом? и выложить сюда)
Ага, теперь я знаю, как появился vkontakte.ru
и профессионали.ру
И два десятка клонов Твиттера.
Захватывающий и полезный топик, спасибо вам. :)

Но описывая ваше исследование, вы публично признались, что вас можно забирать по статьям 272 и 273 УК РФ. Надеюсь, что у оповещенных вами крупных компаний хватит мозгов на то, чтобы не идти в суд.
=) 272 273 уже проходили. Факта нет, мы качали файлы в формате txt ничего не ломая, не следя и тем более не нанося вреда.
Не важно. :( Вы копировали чужие файлы.
Это все равно, что угнать машину, мотивируя тем, что дверь была открыта, ключи были в зажигании, а на стекле была записка «забирайте себе».
Поясните: я сейчас, зайдя на этот сайт, скачал чужой файл bg-multilogo.png.
За мной уже едут?
Не едут. У вас нет намерения и умысла копировать файлы, явным образом не предоставленные в публичный доступ.
Не юрист ни разу, но фраза «явным образом предоставленные в публичный доступ» вызывает сомнения…
Ну так и */.svn/entries был общедоступным по протоколу HTTP без предварительной авторизации…
если бы это было не важно посадить можно было бы любого, кто скопировал с какого-то сайта цитату или картинку
Не совсем. Сайт предоставляет информацию к публичному доступу в явном виде. Когда браузер эту информацию копирует в кеш, нарушения прав не происходит.
Угнать = move, а не copy.
Ну так и крупным компаниям нужно доказать, что доступ был именно не санкционированным. Соответственно, доказать что эти папочки были сверхзасекречены, что к ним нельзя было получить доступ ничего не взламывая и никого не подкупая, а они все равно у них появились…
Если посреди улицы лежит мешок денег и вы его унесете к себе домой, вас посадят.
???
Никому не нужно доказывать, что это был сверхзасекреченный мешок. Он не ваш.
Посадят то почему?
Несанкционированное владение чужой собственностью.
Вы получили письменное подтверждение, что яндекс санкционировал вам доступ к его поиску? Нет? Суд.
В скачивании файлов при использования Яндекса не содержится общественно-опасных действий и умысла.
школота такая школота!

статью назови пожалуйста, и страну из УК которой она.

Братокландия?
Пруфлинк?
Гуглите понятие частной собственности.
В случае с мешком денег:
— Если он просто лежит посреди улицы и я его просто унесу, но при первом же требовании отдам — меня нет оснований сажать.

В случае с сабжем:
— Если файлы лежали в общедоступной директории вебсервера и я их получил, но никаким противозаконным образом их не использовал — какое еще преследование может быть?
Под неправомерным доступом к охраняемой законом компьютерной информации следует понимать самовольное получение информации без разрешения ее собственника или владельца. В связи с тем что речь идет об охраняемой законом информации, неправомерность доступа к ней потребителя характеризуется еще и нарушением установленного порядка доступа к этой информации. Если нарушен установленный порядок доступа к охраняемой законом информации, согласие ее собственника или владельца не исключает, по нашему мнению, неправомерности доступа к ней.
Это так полагает профессор С.В. Бородин. А вы цитаты из законов покажите, на основании которых считаете, что вы можете у меня загрузить pic.jpg с общедоступного web-сервера, а я могу назвать получение этой картинки самовольным и начать вас уголовно приследовать.
Если докажете умысел, можно преследовать.
Какой злой умысел? Лишь «самовольное получение информации без разрешения ее собственника или владельца», умысла при этом не нужно. Письменное разрешение от меня есть? Нет? Ну как я выше уже сказал — пройдемте в суд…
Вы сводите к абсурду, дальше спорить бесполезно.
Хорошо, признаюсь, я умышленно скачал логотип хабра bg-multilogo.png.
Теперь-то за мной едут?

Где написано, что этот файл «явным образом публично доступен», а /.svn/ — нет?
Могут ехать, но судебные издержки того не стоят.
Когда речь идет о полных исходниках, вопросы ставятся совершенно по-другому.
Не понимаю… поясните.
Не нарушая закона, скачать логотип хабра я могу только «не умышленно», тобишь случайно чтоли? Т.о. зайдя на lenta.ru, чтобы почитать новости (умысел?) я станолюсь преступником?
Когда вы заходите на сайт через браузер, скачивание html, js и картинок происходит неумышленно. У вас умысел — открыть и прочитать страницу, а не выкачать ее элементы оформления.

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

Ну и самое главное — вопрос скорее не в деталях процесса, а в объекте. Речь идет об исходниках, а не одинокой png-картинке. Это как сравнивать мешок денег с кульком гречки.
Т.е. когда я выкачиваю файл без элементов оформления (с отключенными картинками и css) — это злой умысел?
Вы вырываете из контекста, от него зависит трактовка.

Если придерживаться закона буква в букву, то, например, DoS (не distributed) тоже как бы не является преступлением. «Я просто просматривал главную страницу этого сайта несколько тысяч раз в секунду. А чо? Она ж в открытом доступе по протоколу http.»
Если сможете обновлять веб-страницу штатными средствами браузера несколько тысяч раз в секунду, то — да. Не является.

Тем более, что это, собственно, не ДоС. ДоС, скорее, убить апач эксплоитом.
Не посадят. Это не воровство, а находка. Но заставить вернуть этот мешок денег могут.
Извините, но вы дилетант и спорить с вами бесполезно.
Да, я дилетант, но право тем не менее изучал.
Вопрос законности я решил поднять в силу его важности и отсутствия комментов на эту тему от других участников.
И я буду очень рад, если появится кто-то компетентный и выявит, что я не прав. :)
я компетентный и выявляю, вы не правы. Как минимум, нет заявлений. Как появятся заявления, начнутся разбирательства. В ходе которых выяснится, что по сути нет состава преступления, т.к. это не информация, которая охраняется законом. Т.к. никаких сообщений о том, что в данный момент вы скачиваете чужие сурсы нет и не было при использовании уязвимости. В итоге получается, что авторы кода не защитили свои исходники вообще никак (не говоря уже о гос.лицензировании).
Тем более, что не было умысла, который доказать можно получив показания свидетеля в суде, который подтвердит и предоставит доказательства, что вы хотели продать ему исходники именно этого ресурса.

Однако на каждом этапе менты будут нервничать, лишнюю работу не любит никто. А когда они нервничают, они обычно бьют подозреваемых, выбивая признание =) Вот эта реальная картина нашего правосудия.
данная информация охраняется законом, так как является коммерческой тайной и обладает всеми ее признаками.
Мы можем долго спорить, может мне конечно повезло, но по второй части 272 при гос.защитнике и главным областном следователе, с наличием явных доказательств не в мою пользу, далее чем «свидетель» в деле я не фигурировал. 27 статья КРФ творит чудеса, а данный пост ничего не доказывает. Экспертиза покажет наличие запущенного прокси сервера на моей домашней тачке, дело приостановят на… лет 5? и скорее всего вернут изъятое оборудование.
это правоприменительная практика, она бывает разной. там много факторов, но она имеет тенденцию эволюционировать.
ога, у следаков появляются сотовые и им объяснили, что вместо мониторов надо изымать системные блоки, что информации в мониторе нет =) Уж простите за стёб. Со временем органы получают либо теряют долю беспредела, поэтому либо окончательно наглеют, либо стараются делать всё по нормам. Однако мозгов от того, что они стараются делать всё правильно, когда 10 лет делали как хотят, не прибавляется
в данном случае, речь идет о судьях и суде.
может быть после моего последнего общения с органами что-то изменилось, но разве по уголовным статьям не надо сначала возбуждать дело, искать свидетелей, подозреваемых, доказывать их вину итп? Разве вы не путаете уголовное и административное преступление?
конечно, надо. я вобще не о том. проще говоря, то дело. которое разваливалось в суде раньше, потому что судья в него не въезжал элементарно, сегодня, может бодро привести к приговору. есть куча бюллетеней, постановления вышестоящих судов, комментарии верховного суда. И по преступлениям в сфере информационных технологий — очевидно будет все ужесточаться. Как это было в сша.
вы не понимаете, дело до суда не дойдет. Оно развалится еще на стадии следствия.
уууу… это что-то типа рулетки. а вдруг следователь забьет и у него все показатели в порядке.
всмысле в порядке? Мы обсуждаем конкретный случай. Где тут состав преступления? где свидетели? кто из них подозреваемый?
Или наши следователи сейчас могут сами решать, кто виноват а кто нет?
вы определитесь — или у вас следователи идиоты или объективно нет признаков преступления.
На мой взгляд, все есть для успешного доведения дела до суда и его выигрыша. Если вы со мной не согласны, я за вас безумно рад. Практика, как говорится, покажет. Отсылка, что вам повезло и звезды сложились в вашу пользу, опять же не совсем корректна. Для кого-то звезды не так удачно складываются.
Нет состава преступления (что за признаки такие?) + в нашей стране следователи (уже объяснял почему) в большинстве своем работать не умеют. В итоге мы имеем лишь пару синяков на лице в худшем случае и если сами признание не подпишем — ничего не будет.
кстати, спасибо за исследование. претензий никаких, просто не хотелось, чтобы вы попали на денежки. А в формулировках статьи потенциально опасные заявления содержатся.
Авторы топика честно признались в том, что в составе организованной группы лиц, осознавая последствия своего поступка, эксплуатируя уязвимость в программном обеспечении получили доступ к информации, составляющей коммерческую тайну. более того, далее они опубликовали данную информацию.
В принципе любой взлом, это просто считывание файликов в разных форматов, через различное программное обеспечение. Зачастую взлом не подразумевает модификацию данных программ. То что, действие легко осуществляется не означает, что оно не преступление. В супермаркете я тоже могу взять что-нибудь и унести и меня могут даже не остановить.
Насчет всех аргументов, мы ж каждый день что-то копируем и сохраняем. В принципе, это все не попадает под определение и признаки преступления. Так как осуществляется без умысла, не имеет общественно опасных последствий, осуществляется в соответствии с спецификацией и стандартами эксплуатации технических средств. То есть пользователи, которые зашли заценить даректорию сайта не попадают под эту гребенку. В случае с авторами, они не могли не осознавать последствия своего поступка и возможный ушерб.
На практике претензии к авторам могут возникнуть, а могут и не возникнуть. Если они понесут ущерб, то могут и в суд на авторов подать. Обычно такие статьи просто оформляются по другому, чтобы представить все в виде научного исследования, без указания директорий, ключей и факта эксплуатации уязвимостей :-)
под фактами эксплуатации имеется в виду, мы получили доступ к исходникам всего рунета и скопировали их.
надо так. тестирование выявило подверженность данной уязвимости сайты бла, бла, бла. мы уведомили об этой уязвимости администраторов данных ресурсов.
представим, что у Вас есть офис, в котором вы принимаете посетителей. в офисе есть диванчик и журнальный стол с кипой журналов и газет, которые почитывают ожидающие приема посетители. так вот, Вы, по неосторожности, решили хранить на этом журнальном столике супер-секретные документы Вашей фирмы. и, конечно же, многие посетители с ними с интересом ознакомились… подадите на них в суд?

никакой уязвимости программного обеспечения тут нет. просто невнимательность.
еще раз перечитайте, что я выше писал — в вашем случае читающий не совершает преступления, на основании вышеизложенных критериев.
если бы они эти документы забрали с собой или скопировали, что в дальнейшем повлекло ущерб, то с них можно было бы потребовать возмещение ущерба. или скажем написали в газету о том, что у такой-то компании лежат документы секретные, в них то-то и то-то, предварительно не сообщив это сотрудникам компании.
Но при этом, они могли бы опубликовать статью «Опасность журнальных столиков», только не стоит в ней признаваться в копировании информации.
документы были прочитаны — читай — скопированы в память индивидуума.

выдержки из 149-ФЗ

ст.6. ч.4. п.2. Обладатель информации при осуществлении своих прав обязан принимать меры по защите информации;

ст.7. Общедоступная информация
ч.1. К общедоступной информации относятся общеизвестные сведения и иная информация, доступ к которой не ограничен.
ч.2. Общедоступная информация может использоваться любыми лицами по их усмотрению при соблюдении установленных федеральными законами ограничений в отношении распространения такой информации.

выдержки из 98-ФЗ

ст.14. ч.4. Лицо, которое использовало информацию, составляющую коммерческую тайну, и не имело достаточных оснований считать использование данной информации незаконным, в том числе получило доступ к ней в результате случайности или ошибки, не может в соответствии с настоящим Федеральным законом быть привлечено к ответственности.

кстати, авторы статьи не публиковали информацию, которую они получили в ходе исследования (и не собираются, о чем сразу же заявили), какую бы нельзя было бы получить не зная про .svn и какая могла бы составить коммерческую тайну
ст. 7 — это вобще не про эту ситуацию. условия труда в организации не могут быть коммерческой тайной, например.
ст 14 ч.4 в данном случае неприменимо, потому как авторы имеют все основания считать использование данной информации незаконной.
не стоит забывать, что данный код так же является объектом авторских прав.
Естественно, он ее не опубликовали, это вобще залет. Однако, они заявили о ее копировании, чего делать не следует.
Для получения доступа к свн они использовали специальные знания, что покажет в суде любой эксперт. Обычный пользователь при использовании ресурса, не имел возможности путем штатного использования приложения скачать данные тексты.
Насчет мешков с деньгами, которые лежали на улице. Их необходимо отнести в милицию, где заявить о находке, если память не изменяет. 25 процентов с суммы — если владелец не объявится, опять же если не изменяет память. Остальное ведет опять же к залету.
Уже страницу тяжело открывать -тормозит все, резюмируя. Правоприменительная практика в отношении программного обеспечения, интернета до конца не сложилась. Однако не стоит думать, что скачав на трекере песенку вы не нарушаете законов. Потенциально, много чего, что сейчас в интернете считается нормальным, противозаконно. Это стоит учитывать, если вы совершаете какие-то неоднозначные действия. Стоит при этом подстелить соломки, на всякий пожарный. Думаю, будут еще громкие процессы в рф, как были и есть в сша.
я бы сказал что: «Автор топика открыто признался в том, что нашел в рунете over 3300 идиотов и догадывается о существовании еще большего количества, но в силу отсутствия мощностей, механизм выявления оставшихся, передает в общие руки»
они не уязвимость эксплуатировали, а выявляли неправильно настроенные системы

тут грань нельзя провести

разве что невозможно доказать что случайно наткнулся на исходники 3000 саетов (написав паука)
Из комментов к 272:
Под неправомерным доступом к охраняемой законом компьютерной информации следует понимать самовольное получение информации без разрешения ее собственника или владельца. В связи с тем что речь идет об охраняемой законом информации, неправомерность доступа к ней потребителя характеризуется еще и нарушением установленного порядка доступа к этой информации. Если нарушен установленный порядок доступа к охраняемой законом информации, согласие ее собственника или владельца не исключает, по нашему мнению, неправомерности доступа к ней.
ничего что гугль как бы даже все проиндексировал?
Интересно, как? Без гиперссылок на эти файлы или их упоминания в сайтмэпе Гугл до них добраться не мог.
да что вы говорите!
а как тогда он выдает вот это:
www.google.ru/search?q=inurl%3A%22*.com*.svn%2Fentries%22
или у всех тут массовые галлюцинации??
Просто удивительно наблюдать за стадным минусованием просто по признаку несогласия с автором топика века. Эх.
Придется реабилитироваться полезными статьями. :)
НЛО прилетело и опубликовало эту надпись здесь
НЛО прилетело и опубликовало эту надпись здесь
Несколько лет назад была статья об автоматизации разарботки вебпроектов с помощью SVN. Так там был скрипт который проверял в стабльной ветке и экспортил на рабочий сервер каждую ночь. То есть не просто svn co <link to repos>, а нормально svn export, который не оставляет .svn. Так что вывод: Читаем внимательно документацию!
НЛО прилетело и опубликовало эту надпись здесь
у них cvs, похоже
НЛО прилетело и опубликовало эту надпись здесь
Там к сожалению только статика:)
НЛО прилетело и опубликовало эту надпись здесь
Ну если вы летом такими вещами занимаетесь, боюсь спрашивать что за дела в рабочие будни творятся…
а в будни они делают свой интернет с яндыксами, рамблерами и остальными 3300 сайтами =)
почему бы админу тупо не закрыть все .?*
эти папки вообще не должны там быть
Эта новость чувствую долго не забудиться
Не догнал как они через веб смотрят .svn папки?
Разве что балбесы-админы выкладывают сайт апдейтом из репоза, вместо экспорта.
Именно так
Именно об этом спорят уже метров 30 страницы тут — делать экспорт или хранить как есть :)
Почитайте комментарии :)
какбэ уже 9 лет баги и я уже устал это повторять =) мы провели исследование, а не открыли америку.
«Пару месяцев назад нами (2Товарища и Антон Исайкин) была обнаружена уязвимость...» м?
Ну там в комментариях видно, что ключевое слово «нами». Т.е. они именно эту пару месяцев назад додумались и проверили, а вот сейчас, после публикации, почитали комментарии и поняли, что оказывается были не первыми, кто так подумал.
НЛО прилетело и опубликовало эту надпись здесь
Дело в том, что раньше рабочие копии из действующего вебрута никто не делал, SVN был не так популярен, и даже те кто его использовали пользовались им исключительно для разработки, а на сервер выливали с помощью svn export уже 100% готовые и отлаженные версии.

Мода создавать из webroot рабочую копию пошла недавно, и честно говоря я решительно не понимаю в чем его смысл.
это как не пристегиваться за рулем. Типа удобно =)
Аплодировал стоя. Это шедевр.
НЛО прилетело и опубликовало эту надпись здесь
Ждём появление волны ботов, обстукивающих сайты на предмет заветного файлика…
Сильнейший пост за очень долгое время!

Как по наполнению, так и по реакции.

Спасибо и дальнейших успехов! ))
Массовая акция по выведению из строя работников всего рунета. Работа стала — все сидят и пишут скрипты для парсинга :)
есть такое :D
Мне почему-то кажется, что кто-то на такое уже натыкался, но не стал в интернетах отсвечивать, а тихонько всё слил себе.
На википедии в свнке текущая ревизия под номером 56 864… Офигеть!
Хм. Удивил…
svn commit: r197434 — head/tools/regression/acltools
Текущий проект:
$ svn info | grep Revision
Revision: 190299
Пост тысячелетия на хабре.
закрыто
минуту назад было открыто :)
обдумал. говно. ребята очень умело себя пропиарили. в коментах была сцылка, про это писали давно, т.е. вы не первые, кто обнаружил эту (язык не поворачивается назвать) уязвимость. по сути, ничего кроме бота, тянущего все подряд вы не сделали, но зато грамотно протащили это по ушам.
дело не в том что это «давно уже все знают». А в том что дозадницы сайтов с тех «бородатых времен» ничему не научились, а юное поколение вообще в ус не дует.
Это — грамотно? Да ничего подобного, можно было с точки зрения пиара и гораздо большего достигнуть :)
топик добра будет завтра
Сегодня.

тадаам! )

Сгинь на двачики.
копипастер…
Вот молодцы все такие, ссылок понаставили, а потом поисковик пройдется…
НЛО прилетело и опубликовало эту надпись здесь
кто первый выложет грабер, что бы по папкам ходил?
Жаль, Майкрософт не использует SVN.
Лучшее, что я читал на Хабре. Вы молодцы. Особенно порадовал масштаб исследования: если уж проверять, то сразу весь рунет! Браво!
Сайты из alexa.com top 10000

index.hu/.svn/entries
meneame.net/.svn/entries
wikitravel.org/.svn/entries
motherless.com/.svn/entries
weather.com.cn/.svn/entries
buysellads.com/.svn/entries
gallendor.com/.svn/entries
tr.im/.svn/entries
dek-d.com/.svn/entries
desihits.com/.svn/entries
advfn.com/.svn/entries
revtwt.com/.svn/entries
thinkprogress.org/.svn/entries
deine-tierwelt.de/.svn/entries
freestreamtv.com/.svn/entries
df.eu/.svn/entries
boxofficemojo.com/.svn/entries
newsvine.com/.svn/entries
dtiblog.com/.svn/entries
mirknig.com/.svn/entries
funnyjunk.com/.svn/entries
freedownloadmanager.org/.svn/entries
chitika.com/.svn/entries
macupdate.com/.svn/entries
edgecastcdn.net/.svn/entries
vampirefreaks.com/.svn/entries
kotaku.com/.svn/entries
qdmil.com/.svn/entries
payperpost.com/.svn/entries
bostonherald.com/.svn/entries
boygeniusreport.com/.svn/entries
jrtux.com/.svn/entries
asiarooms.com/.svn/entries
eteamz.com/.svn/entries
ci123.com/.svn/entries
pimproll.com/.svn/entries
blogg.no/.svn/entries
fsiblog.com/.svn/entries
hjlas.com/.svn/entries
kvors.com/.svn/entries
clip.vn/.svn/entries
jxliu.com/.svn/entries
showing.com/.svn/entries
mydirtyhobby.com/.svn/entries
adultelite.com/.svn/entries
megadownload.net/.svn/entries
pchome.com.tw/.svn/entries
verycd.com/.svn/entries
wowhead.com/.svn/entries
jamespot.com/.svn/entries
kuhdi.com/.svn/entries
dhd24.com/.svn/entries
vosmd.com/.svn/entries
lubeyourtube.com/.svn/entries
tokyotosho.info/.svn/entries
internic.net/.svn/entries
who.is/.svn/entries
velvet.hu/.svn/entries
lwken.com/.svn/entries
uclick.com/.svn/entries
scrubbu.com/.svn/entries
fbgdc.com/.svn/entries
sphinn.com/.svn/entries
blingee.com/.svn/entries
yixe.com/.svn/entries
markmail.org/.svn/entries
creativecommons.org/.svn/entries
mingle2.com/.svn/entries
keyworddiscovery.com/.svn/entries
surfcanyon.com/.svn/entries
invisionzone.com/.svn/entries
dontknow.me/.svn/entries
shiftdelete.net/.svn/entries
funnygames.nl/.svn/entries
leaguelineup.com/.svn/entries
gnspf.com/.svn/entries
naked.com/.svn/entries
zoo.gr/.svn/entries

Сплошной трэш и порнуха :)
НЛО прилетело и опубликовало эту надпись здесь
НЛО прилетело и опубликовало эту надпись здесь
притом под xen
Такого Fail-а в интернете я не видел за всю свою жизнь. Будет что вспомнить в будущем! Спасибо!
НЛО прилетело и опубликовало эту надпись здесь
нет слов=)
реально знал о .svn директориях, но ни когда не пробовал их проверять на других сайтах, даже не задумывался, а стоило бы, досадно.
НЛО прилетело и опубликовало эту надпись здесь
Видимо, инклуды где-то в другом месте.
Лол, пытался в 2008 так поковыряться в Хабре, не смог найти нужное число бесплатных прокси (шобы не поймали, хотя сейчас понимаю что тут и преследовать то не за что), и задолбался писать скрипты для парсинга этих text-base и прочего, так что бросил затею. Эх, а теперь секрет раскрыли, обидно :'( Ну хоть может америкосов потрясут :))

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

p.s. Как показала практика, не зря я настороженно отношусь к чужому коду и сторонним технологиям, в особенности OpenSource.

p.p.s > Опера уважает MySQL, но сайт у них на голом html с реальными директориями и поддиректориями;

А вы что думали? серьезные сайты так и делаются, из cms экспортируется набор ХТМЛ-файлов на отдельном сервере, они ж там не школьники чтобы при каждом обращении в базу лезть. (кстати правительственные сайты вроде похожим образом устроены).

p.p.p.s Я когда-то сам думал насчет использования SVN — мне мысль выгружать файлы через svn update (а не export) всегда казалась дикой, я сам был удивлен, когда узнал что кто-то так делает.

p.p.p.p.s. > Во избежании конфликтов все исходные коды, полученные за время исследования были распечатанны и сожжены :-)

Могли бы и поделиться примерами :) Не то что я собираюсь оттуда брать код. Просто интересно узнать реальный уровень разработчиков крупных сервисов и их качество кода :))

>и задолбался писать скрипты для парсинга этих text-base и прочего, так что бросил затею
Что там писать-то, работы на полчаса:)
Ну я решил все серьезно сделать, список прокси, проверяльщиук и прочее… Задолбался, а потом работы много пришло, а потом забыл про это дело, тем более что на Хабьре тогда многие исходники .php.text-base интерперетировались сервером.
ребзя,
спасибо, что не в пятницу выложили
Я тоже в ахуе.
(ну не мог я не оставить коммент в самом грандиозном посте на хабре за всю его историю)
День открытия исходних кодов.
в шоке. больше сказать нечего.
поразила элегантность и простота метода — все просто, как 2 пальца.

вам бы теперь поаккуратнее — вряд ли многие поверят, что пепел исходников был развеян над океаном, как это следовало бы сделать. Ректальный криптоанализ решает.
Принудительный opensource :)
хауса ждём?
Скачивать исходники всё еще можно :)
Даже сейчас :)
Пост постов ) его отголоски будут долго слышны…
копаюсь я значит в исходниках *****.*** а тут вротмненоги!
вот почему Линус написал git
он знал, что в 2000 году через много лет напишут бажную систему контроля версий =)
Уже исправился, огромное спасибо за спокойный сон :)
в шоке. больше сказать нечего.
поразила элегантность и простота метода — все просто, как 2 пальца.

вам бы теперь поаккуратнее — вряд ли многие поверят, что пепел исходников был развеян над океаном, как это следовало бы сделать. Ректальный криптоанализ решает.
Молодцы! Пишите, с чем придется столкнуться. Мы все за вас, если что!
черт, а ведь реально, все кому нужно, знали :)
офигеть.

Самая заплюсованная статья за историю хабра похоже получилась. Тру эпик-тред!
Ребята молодцы, мне тему для доклада на английском подкинули =)
такого количества "+" за пост я еще не видел!

Молодцы ребята!
И это так ;) он в топе первый
А все почему? Потому что надо нормально экспортировать из svn, а не просто копировать структуру папок на живой сервер и запускать все просто на живой svn-ке.
как это было на поверхности… и никто не думал не гадал
Итак, услуга — скачаю для вас исходники сайта! :)
В веселое время живем :)
Ребята, надеюсь Вы перестраховались. Если завтра вдруг вы перестанете отвечать здесь, мы с ума сойдем.
Ну, собственно, теперь ждем, пока владельцы ботнетов узнают о такой халяве (если, конечно, они не были в курсе еще задолго, но не палились), у них ресурсов зомбо-сетей может хватить чтобы за месяц просканить не только дот-ком ;) — получится список тысяч на 200-300
В первый раз вижу столько плюсов посту O_o
Плюсов больше, чем комментов :)
Order allow,deny
Deny from all
Satisfy All
Options -Indexes

Order allow,deny
Deny from all
Satisfy All

Снимаю шляпу и приклоняюсь перед вашим поступком и вашими знаниями! Я хоть и далек от SVN и слабо представляю себе что это, но понимаю, что это историческое событие! Да прибудет с вами сила!
Некоторые новости убивают наповал:

Защита собственного портала от взломов или утечки информации – это приоритетное задание для каждого администратора. Но не всегда удается все сохранить в целостности и сохранности самому, тогда на помощь приходят различные компании-помощники, но как оказалось и у них бывают изъяны.

Так одна из самых известных компаний по контролю версий SVN пошла на соблазн и разместила вместо «боевого» сервера коды сайтов на свой основной сервер.

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

К счастью это всего лишь временная промашка и уже благодаря элементарной настройки сервера была решена проблема.


news2news.ru/?p=248
Мдааа, профессионалы…
журнашлюхи как всегда в своем репертуаре…
домен кабы говорит нам:
новости такие новости
:-)
НЛО прилетело и опубликовало эту надпись здесь
В больших компаниях точно такие же люди, а людям свойственно делать ошибки
ждем структуру и исходники Гугла :)
с гуглом, кстати, полный fail =( просканировав более 100 подпроектов и сервисов гугла, мы тупо забили. Ибо эти прохиндяи наверника сидят на самопистных системах контроля версий.
интересно узнать, какие 100 проектов и подпроектов есть?
я знаю максимум 20-30…
по остальному скажу, что у них все свое, начиная от файловых систем и заканчивая принципом отдыха сотрудников :) они об этом говорили в видео, поэтому с ними такое не прокатит, я думаю
мне вот как-то не верится (после всего, что сделал и еще сделает Гугл), что они сидят на стандартных svn
Они сидят на perforce
у них билдинг через hammer, вестимо.
Гугл ей не подвержен. ;)
Хм, мне казалось что такие вещи очевидны как божий день, а оказалось что полинтернета в идиотах. Строят такие сложные проекты, ставят ids, нанимают специалистов по безопасности, а в итоге вот так приезжают.
НЛО прилетело и опубликовало эту надпись здесь
и вот поэтому сишу я читаю это всё и злюсь на весь mankind в лице девелоперов и админов. Хоть в одной другой индустрии бывают такие новости, где ТОЛПЫ профессионалов так лажаются?
Потрясающе! У меня нет слов. Это FAIL…
И сразу вопросы:
1. Почему не я?
2. Почему только сейчас?
Наконец-то изобретен «взломщик интернета».
Удивительное рядом
Думаю просто необходимо здесь отметиться.
Лучший пост третьего тысячелетия =))
Ребята, вы молодцы:) Кевин Митник отдыхает! Главный баг эпохи интернет!
Митник… Митник работал с живыми людьми =( наша заслуга — взлом робота, машины. А Митник управлял людьми. Нам до него еще далеко. Поэтому и тренируемся на «кошках»
Это ребята скорее отдыхают. Давно уже про это писали, да и по логике каждому разработчику это должно быть очевидно, а тут вот внезапно на хабре какую-то истерию с супергероями устроили.
www.scottbarnham.com/blog/2008/04/22/serving-websites-from-svn-checkout-considered-harmful/
НЛО прилетело и опубликовало эту надпись здесь
grep .svn /var/log/nginx/access.log|awk {'print $1'} | uniq |wc -l
149

:) начал народ теперь интересоваться
теперь процесс уже не остановить =)
Хм, ну так на большинство svn пароли стоят, как они их подбирали?
ну или я чего не понимаю…
Вы как то не внимательно читаете :)

>>>Но можно пойти и далее. В той же папке .svn находится директори text-base, в которой лежат последние версии всех файлов, находящихся в репозитории. Картину дополняет так же и то, что файлы имеют не стандартное расширение (например .php), которое позволяет их сразу отправить на интерпретатор, а дополнительное расширение .svn-base, благодаря которому файл отдается запросившему его человеку «как есть», т.е. голый исходный код!
Какой забавный этот svn
Сам пользуюсь mercurial и Django — так что корень не виден по умолчанию, а hg скромные — всего одна папка
Я уверен, есть ещё пара, а то и десяток, а может быть и сотня человек которые тоже просканили рунет, сомнет, нетнет и т.д., и не кому об этом не сообщали и ничего не сжигали…
Сейчас они читают появляющиеся топики на эту тему, и хитро ухмыляются =)
P.S. я не в их числе.
Кто-то изобрел огонь и грелся один. Кто-то изобрел огонь много позже, но показал его всем и научил им пользоваться. Была хорошая социальная рекламная акция «пора выйти из тени».
Не, не ухмыляются.

Спалили контору.
да… это ж потеря потерь
эх, теперь всю ночь спать не буду, сколько работы прибавилось. Надеюсь к утру хоть пол рунета выкачать.
Но зачем?
держись Лёх, не долго тебе осталось на втором месте висеть в хабролюдях =)))
О и ты тут ) Я ему уже сказал, что возьму количеством, умноженным на качество ;) У меня конечно посты не с таким рейтингом… ну или давайте еще ченить такое отмачивайте — стабильность признак мастерства )
:) после того, как ты поможешь оформить инструкцию… :-<

=)))
Давайте приезжайте на шашлыки (тока не ночью) — напишем )))
Я проснулся, сел за комп, открыл хабр, долистал список новых постов до конца, перешёл к прямому эфиру и тут внезапно
Image Hosting

че-то не качается :)
Странно, проверял сам — все качалось…
Сейчас на многопоточность переделываю, через пол-часика закончу
оказывается качается только из россии :)

комментарии по коду — очень сомнительное место, на старых версиях работать не будет

#if str (entrConn.getcode()) != '200':
# print self.curdomain+root+dir+'.svn/entries Response status!=200"'
# return False
Да код там тот еще…
Я только учусь.
мы вот сканнер на epoll'е написали ;)
скачал, списибо. Сейчас пытаюсь натравить его на national georgraphics
НЛО прилетело и опубликовало эту надпись здесь
Тыща то будет?
Сейчас 1035 было…
Парни, нет слов… разве что… Это гениально!
То-то я думал, когда ещё svn-ом пользовался, что не хочу выкладываться чекаутом и апдейтом, хочу экспортом. Оно, конечно, дольше, но как-то спокойнее было. А вон оно в чём дело! Интуиция, наверное, подсказывала :)
НЛО прилетело и опубликовало эту надпись здесь
Вы не поверите, но classmates.com еще не закрыли дырку:)
Меньше ста строк руби кода граббера, и у меня есть их код:)
Они кстати на перле написаны.
Судя по всему еще очень мало кто закрыл эту дырку, поторопились вы с обнародованием.
Парсер гуглозапроса inurl:.svn/entries и вот вам код половины интернета:)
не весь код, а только публичная часть, самое вкусное — lib — за пределами
Точнее, не публичная, а которая в htdocs идёт.
Ага, только перловые темплэйти. Ну хоть что-то:)
Наверно в своей жизни, не видел ничего более прекрасного. =)
Никто не спит. И спать пока не собирается:)
dpaste.com/97423/ — поиск svn репозитариев
dpaste.com/97424/ — скачивание
https://partner.r01.ru/ru_domains.gz — список доменов зоны ру
балуйтесь )))
ой, чо щас будет… :)
на текущий момент собрал в коллекцию 3 различных варианта граббера на питоне ;)
и один сканер на сях на epoll
молодцы)
о, на епул круто)) вот не лень кому-то было, или был движок готовый
Молодцы, чо. Спасибо за труд :)
«Man these Russkies could have coded their way to winning the cold war. Could thing they picked working on nukes.»
Причём если наши новостные сайты пишут 2 хакера, то у них — security group, вот она разница в отношении.
к сожалению, многие в России считают, что кроме одноклассников, Вконтакте, яндекса и мейла сайтов нет =( а те, кто их ломают и есть хакеры.
а системные администраторы — это программисты, а программисты — это «а ты типа программист чтоли?», эникейщики — офисменеджеры
ога =) ты программист? Во, ты то мне и нужен! А то у меня ворд глючит…
[не оборачиваясь] у меня важная программа устанавливается

В свежем, настроенном по умолчанию Apache файлы типа *.(ext).svn-base имеют mime-тип (ext), в т.ч. php файлы интерпретируются и т.п. Так что не всегда это гарантия утечки исходников.
Вот — вот… Сейчас граблю habrahabr.ru/blogs/infosecurity/70330/#comment_2011859 — около половины сайтов интерпретируются ( ( ( (

Зато вторая половина качается как есть php
Ага, есть такое дело.
Но некоторые и вправду нормално скачиваются.
Уже подыскиваю хостинг под клон motherless.com:)
Парни провели действительно детальное исследование рунета )
Это феноменально сказочные долбаебы!
оппозиция всегда нужна =) всегда было весело слушать лозунги КПРФ =)) Продолжайте в том же духе
вы о чем? какие КПРФ? О_о
НЛО прилетело и опубликовало эту надпись здесь
Как обычно во всем виноват человеческий фактор
А по каким косвенным признакам можно определить, что проект работает с SVN?
Примерно по таким-же, как и в какой IDE он разрабатывается и под какой операционной системой. Если разработчик не напишет сам— накаких.
«PostgreSQL уважают движок wikimedia => PostgreSQL уважают MySQL»

Двигло зовется MediaWiki, это раз, а два — это причем тут уважение?

MediaWiki работает на db MySQL или PgSQL тут можно поглядеть про это

You will need one of the following database servers to run the latest version of MediaWiki:

* MySQL 4.0 or later*
* PostgreSQL 8.1 or later
* Ingres 2006 or later (SVN-Download)
* SQLite

видимо, в конфиге у них-таки прописан mysql :)
Теперь буду на каждом сайте .svn/entries писать )
До того как прочитал статью, раздумывал что за фигня в логе моего нового сайта:

88.85.95.13 - - [24/Sep/2009:03:38:57 +0400] "GET /.svn/entries HTTP/1.0" 404 2346 "-" "-"


До сих пор что ли сканирует кто-то?

Алсо не могу понять, как так можно выкладывать просто, без svn export? Мне даже в голову не приходило просто скопирнуть всё на продакшн сервер вместе с папками свн.
Даааа, зажгли чуваки! Респект!
Пост — эталон. Почти 1000 плюсовых голосов :)
Ждём +100500
"(зона com сейчас насчитывает более 700 млн доменов (против 2 млн ru))."
700 = 70 млн.
А по факту — около 82 — stat.nic.ru/ =)
Проверил за вчера 90000 сайтов из Alexa Top 1000000.
«Откликались» на наличие узявимости порядка 1500 (!) сайтов.
Я чисто физически не успеваю читать все ваши комменты, особенно ответы на вложенности. Действительно, новость года.
а я теперь знаю, как будет выглядеть один из топиков в декабре 2012 года на хабре:

Информационная безопасность: Сенсация — оказывается коды доступа к красной кнопке США уже давно утекли!!!

Комментарии:
xxx: то же мне новость — я видел сообщения в ЖЖ об этом еще весной 2011-го
yyy: та не! а вот тебе <ссылка> на новость за 2009-ый!
zzz: да эти лохи держат сервак попой наружу — сами посмотрите — вот его ip <127.1.2.3>
ййй: кстати, кому интересно — я еще на первом курсе нашел архив с ними — могу выложить, вот <ссвлка на rapidshare>
ццц: ВАШУ МАТЬ!!! — их с тех пор так и НЕ СМЕНИЛИИ!!!!!..
Вот так неожиданно и узнаёшь, что проект, которым занимаешься, уже 9 лет как open-source :)))
А скрипты по-тихоньку продолжают сканировать инет…
кхм… по-тихоньку?
Да да, «тихо и не заметно» (в кавычках), весь инет обходят, скоро обойдут, и вот тогда…
— Пацаны, ничё не продаете?
— Не, ничё не продаем…
Ну это так, шутка…
Вот так надо зарабатывать инвайты на хабр!
как было 6 инвайтов, так и есть =) не добавились.
НЛО прилетело и опубликовало эту надпись здесь
Инвайт дается за статью с > 50 голосами и 5 штук за карму > 50.
У тебя статей вагон, поэтому инвайтов много, а здесь одна статья, хоть и чемпион.
НЛО прилетело и опубликовало эту надпись здесь
да мне до этих инвайтов, если честно =) лишь бы «голос» не потерять до того момента, как до дому доберусь =)
ну что это такое? Нет вот положить все исходники на торренты и открыть новую эру в индустрии. А так — ну нашли дыру.
Т.е. открыть «второй» Интернет?
то есть, сделать opensource интернет!
брависсимо %)
это не какой-нить банальный /../../../../../../../.passwd :)
спасибо =)
Жизнь не справедлива :-)
Так, надо увековечить себя в этом посте
Ребята! То, что вы сделали — просто!!! Даже слов нет! Молодцы в общем! И спасибо за подход к проблеме. Что дали огласку вопросу и сообщили всем, у кого «всё плохо», как поправить.
Жесть.
Все гениальное — просто.
Пока читал комментарии уже весь восторг как-то поутих. Но по началу удивлению не было предела. Никогда не сомневался в том, что мир не идеальный, но как-то не думал, что все настолько «серьезно» :) Конечно, описаная «уязвимость» не совсем уязвимость в том смысле, в котором большинство привыкло трактовать это слово, но сам факт существования ее в такой массовости заставляет задуматься. Впрочем, не удивлюсь, если у професиональных хакеров есть и более «ужасающие» факты о текущем состоянии Сети :)
Мдаааа… это элементарные правила веб же. Ничего левого в паблик не сувать. Особенно — то, что генерируется не вами (где гарантия что завтра в .svn/ не окажется .passwd? глупо конечно, но это данные НЕ ПОД ВАШИМ контролем).

Приятно что за всю мою веб-деятельность ни одного проекта под эту уязвимость не попало. И вовсе не потому что я не делал чекаут в паблик (это же ИДИОТИЗМ!), а потому что думать надо ГОЛОВОЙ.

scons/waf/make хотя бы. Разработка проектов без системы билдинга — изначальная глупость.
+) однако, как проголосовал был слегка ошарашен)

Так что, пока — никаких негативных последствий для авторов? Больше суток прошло, живем!
тебе, пожалуй, в органы соц. опёки работать нада))
Очень полезная статья, пока читал понял, что команда export в svn работает медленно, update быстрее (и что вряд ли я буду использовать svn).
По поводу исходников: давайте будем объективны, рунет убог чуть менее чем полностью, нах исходники этих допотопных пхп и перла, т.к. их под проект переделывать на много дольше, чем взять удобный современный фрэймворк (руби, питон), и современную структуру сервера.
Что касается не рунета, то я, посмотрев пару сайтов, встретил встретил только хтмл — это, друзья мои, *кэш*, с помощью команды update они обновляют кэш сайта (а не открывают исходники, как мы) — умно?..
по-моему «кеш» через svn дергать — это тоже идиотизм. Rsync же есть, вы чего!?
Надеюсь, что со временем к вам придёт понимание, что языки — это инструмент, а не волшебная палочка, которая гарантирует успешность проекта. А пока советую не судить :)
Поэтому все свои проекты на .Net я разворачиваю на продакшене как Publish, а не просто svn update :D
А кто-нить сканировал на наличие папки _svn?
ну, спасибо, теперь в логах у меня будет появляться
95.53.153.189 — — [25/Sep/2009:15:03:52 +0400] «GET /.svn/entries HTTP/1.0» 404 9454 "-" «Wget/1.11.4»
хотя раньше этого не было
НЛО прилетело и опубликовало эту надпись здесь
не слабо =) хотя, уверен, скоро и эту цифру обойдут.
Однако, 2.5 года прошло — не обошли :-)
НЛО прилетело и опубликовало эту надпись здесь
0 =) уже писал, как было 6, так 6 и осталось. но я за ними и не гнался никогда =)
НЛО прилетело и опубликовало эту надпись здесь
многА =)
Мы вот не используем никаких из перечисленных систем контроля версий, но теперь логи регулярно засоряются кулхацкерами. Так что пришлось устранить уязвимость.
Спасибо огромное за проделанную работу, рад что ещё есть настолько честные люди, которые не извлекли из этого материальной выгоды.

Хотелось бы узнать побольше интересных фактов =)
Я Nginx настроил на блокировку отдачи директорий .svn :-)
ограниченность недалёких людей компенсируется неограниченностью их количества
Если Вы все это распечатали и сожгли, то Вы сильно ударили по экологии нашей планеты. Не делайте так пожалуйста.
зачем тему подняли — чтобы в логах стало опять появляться GET /.svn/entries HTTP/1.0
?
dsa
Интересно, были ли в том списке какие пентагоновские сайты (или подобные), или там svn не жалуют?
Вот что интересно — в веб-архиве сохраняются все эти .SVN???
Недавно навеяла мысль провернуть подобный трюк с git. На сервере (production) при обращении к директории .git получаю 403 Forbidden, но если писать полный путь до файлов, то доступ открыт. Не знаю насколько защищен git в этом плане, но удалось получить доступ к списку веток, список недостающих файлов (хэши) коммитов. Если данная тема заинтересовала и актуальна, могу написать статью на хабре и более детально изучить этот момент. Публикаций на эту тему не нашел.
вопрос лишь в криворукой настройке фронта. я надеюсь все давно набили шишки и проблема не актуальна много лет
Когда работал в Ingate, об апдейтах Яндекса весть шла в духе «обезьяна в подвале нащупала кнопку обновления!». Оказывается, я был не сильно далёк от истины… Собирать стили мейком вполне в их духе. Сдается мне, обезьяна сидит в подвале дома в городе, соответствующему названию алгоритма, а бананы для нее идут почтой России. Заказ оформляется по телетайпу, а ленту меняет псевдослучайно выбранный прохожий с улицы…

Публикации

Истории