Получены исходники 3300 глобальных интернет-проектов

Теги: уязвимость, исходный код, сайт

Пару месяцев назад была обнаружена уязвимость, присущая в основном большим интернет-проектам (вроде Рамблера, Мейла, Яндекса, Оперы и пр.). Исследователи смогли получить доступ к файловым структурам известнейших сайтов (в общей сложности 3320 сайтов) и в ряде случаев их полные исходные коды.

Пару месяцев назад была обнаружена уязвимость, присущая в основном большим интернет-проектам (вроде Рамблера, Мейла, Яндекса, Оперы и пр.). Исследователи (2Товарища и Антон Исайкин) смогли получить доступ к файловым структурам известнейших сайтов (в общей сложности 3320 сайтов) и в ряде случаев их полные исходные коды.

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

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

draftcopy.ru/.svn/text-base/index.php.svn-base

Исследователи отмечают, что описанная картина является идеальной и хоть она и была таковой в большинстве случаев, все же большой процент исходных кодов не удалось получить по тем или иным причинам.

Осознав, что обнаруженная уязвимость присуща большинству проектов за последние девять лет, исследователи решили полностью просканировать рунет и получили интересную статистику.

В результате было просканировано 2253388 доменов, из них уязвимыми оказались 3320. Прежде чем публиковать открыто информацию об уязвимости, специалисты предупредили всех пострадавших. В первую очередь письма были разосланы гигантам (yandex.ru, rambler.ru, mail.ru, opera.com, rbk.ru, 003.ru, bolero.ru, habrahabr.ru, итого 19 адресов), а затем,письма получили остальные 3000+ сайтов.

Защита от уязвимости

Уязвимость можно обойти несколькими путями. Путь в лоб — запретить обращаться к метадиректориям SVN по 80-ому порту, т.е. средствами вебсервера.

Решение для nginx

location ~ /.svn/ {
deny all;
}

Глобальных локейшенов в nginx`е нет, поэтому прийдется подписывать для каждой server области. Чтобы правило имело силу, необходимо загружать его до других локейшенов с регулярным выражением. Универсальный способ — первым локейшеном.

Решение для Apache

 Order allow,deny Deny from all Satisfy All 

Тут немного проще, надо дописать это в httpd.conf и на всех проектах под управлением apache чтение из директории .svn будет недоступно.

Решение средствами SVN

Защита от уязвимости средствами вебсервера — лечение болезни. Любой доктор скажет, что профилактика проще, легче и менее затратней, чем лечение. Поэтому лучшим решение будет отсутствие этих самых метадиректорий в корне проекта. Добиться этого можно средствами svn export из основной ветки.


или введите имя

CAPTCHA
Страницы: 1  2  3  4  
36312
23-09-2009 17:06:03
таак уязвимость ф студию
0 |
23-09-2009 18:34:40
Так полностью же описали уязвимость. Берешь свой любимый сайт. Например meinliebesite.ru если его разработчики пользуются svn с ведением лога изменений и не запретили http-серверу отдачу файлов из этой директории, то перейдя по ссылке meinliebesite.ru/.svn/entries ты получишь список файлов в этой директории. Все эти файлы ты можешь так же легко загрузить через браузер и сохранить у себя.
0 |
akker
23-09-2009 17:12:01
При чем тут Линукс, Линукс - это ядро
0 |
ХИХИ
23-09-2009 17:21:37
Ну конечно, как уязвимость в Linux так только ядро, а как Windows так все что делает Microsoft то это уязвимость Windows. Давайте ядро Windows по уязвимостям с ядром Llinx сравнивать. Если Линукс не научился делать полноценную ОС то это его проблемы.
0 |
*
23-09-2009 21:22:14
svn есть и под винду.
0 |
bizz
24-09-2009 09:22:56
Вы вообще соображаете о чем речь идет? SVN - система контроля версий, про которую уже многие забыли, ей пользуются только олдскульщики и разрабы FreeBSD (которые где-то год назад слезли с CVS). Для разработки Linux уже давно используется git.
0 |
sdv
24-09-2009 13:22:39
Такое ощущение, что вы не совсем "соображаете". Хочу заметить, что подавляющее количество open-source проектов - в SVN. Но если код открыт, то от этой проблемы ни холодно, ни жарко. А вот самое интересное, что очень много приватных проектов на SVN. И эти проекты иногда открыты для доступа снаружи для удаленных разработчиков. Плюс у особо своеобразных личностей (как правило это небольшие порталы) есть мания хранить репозитарий с кодами прямо на production сервере и, соответственно, такой SVN доступен снаружи. И вот в результате кривой настройки сервера, доступа и этой особенности SVN, исходники таких приватных проектов могут быть скачаны сторонними лицами.
0 |
alexey
26-09-2009 07:42:17
Ха... А с git и mercurial всё ещё проще . Если svn хранит в своей папке только метаданные, и изредка исходники, то в аналогичной папке .git или .hg хранится ВЕСЬ репозитарий.
0 |
Холивар
23-09-2009 17:34:29
Ядро, которое с каждой версией работает медленнее и становится только толще и жирнее. В печь его и тебя.
0 |
Холли-варвар
24-09-2009 10:42:20
Ядро, которое с каждой версией работает медленнее и становится только толще и жирнее. В печь его и тебя. Да-да, и я про висту.
0 |
04205
23-09-2009 17:20:07
Ээээ И где тут Уязвимость? то что кто то там добрался до SVN? и то что они и так публичные... Что то новость не информативная какая то...
0 |
толстый прыщавый тинейджер
23-09-2009 19:18:17
уязвимость в головах разработчиков, которые копируют svn working copy на сервер вместе со служебными .svn папками вместо того, чтобы делать svn export.
0 |
28532
23-09-2009 20:57:04
Ну так это не уязвимость, а ХАЛАТНОСТЬ.. Всего то... ну так их Ж... и пусть страдает....
0 |
23-09-2009 17:21:13
Ось - произвольная. Сервера Яндекса - часть на ВинСервере (народ.ру), другая - на линухах(поисковик), Рамблер и Мэйл - на линухах. Уязвимость конечно - не в операционке и не в свине, а в кривых руках разработчиков, которые выложили исходники в открытый доступ.
0 |
Трох
23-09-2009 17:38:01
А как узнать на какой ос стоит сайт?
0 |
D3m0n
23-09-2009 17:47:06
nmap дальше куришь маны
0 |
34354
23-09-2009 20:56:00
mozhno i obyknovennym whois online cheknut
0 |
Интерестно
24-09-2009 08:50:05
Правда. Ну расскажите же нам.
0 |
not a russian
24-09-2009 14:59:39
who.is : aport.ru IP: 194.67.1.14 IP Location: Moscow, Russian Federation Website Status: active Server Type: Apache/1.3.41 (Unix) mod_gzip/1.3.26.1a mod_fastcgi/2.4.6 PHP/5.2.9 mod_perl/1.30 rus/PL30.22 Alexa Trend/Rank: 1 Month: 9,919 3 Month: 10,516 Page Views per Visit: 1 Month: 2.9 3 Month: 2.9 idi f shkolu shpana sopljavaja, po tebe u4ilka sku4aet uzhe
0 |
not a russian
24-09-2009 15:03:14
ps http://nmap-online.com/ online toolz ne chem ne huzhe kogda pod rukoj nichego netu
0 |
24-09-2009 12:09:33
# nmap -O localhost Starting Nmap 4.75 ( http://nmap.org ) at 2009-09-24 12:09 MSD Interesting ports on localhost (127.0.0.1): Not shown: 993 closed ports PORT     STATE SERVICE 22/tcp   open  ssh 25/tcp   open  smtp 111/tcp  open  rpcbind 139/tcp  open  netbios-ssn 445/tcp  open  microsoft-ds 631/tcp  open  ipp 2049/tcp open  nfs Device type: general purpose Running: Linux 2.6.X OS details: Linux 2.6.17 - 2.6.25 Network Distance: 0 hops OS detection performed. Please report any incorrect results at http://nmap.org/submit/ . Nmap done: 1 IP address (1 host up) scanned in 1.62 seconds Кстати, забавно выходит, если сделать nmap -O securitylab.ru
0 |
24-09-2009 12:10:53
И да, эта команда требует в никсах root-привелегий.. не забудьте su или sudo
0 |
Sw%00p aka Jerom
24-09-2009 10:48:11
Рамблер и Мэйл - на линухах. рамблёр покрайней мере на фришках
0 |
nmap
24-09-2009 11:14:20
> часть на ВинСервере (народ.ру) narod.ru на русском апаче под Linux, причём с 97-го года к серверам никто даже не прикосался. И ответка у народа смешная: HTTP/1.x 200 OK Date: Thu, 24 Sep 2009 07:12:12 GMT Host: narod.yandex.ru Server: ZX_Spectrum/1997 (Sinclair_BASIC) Так что брешишь как Троцкий..
0 |
89211
23-09-2009 17:40:01
Такое ощущение что здесь сидят какие то толстые прыщавые тинейджеры, ковыряющиеся в носу и считающие себя самыми умными. Если есть новоть - обязательно надо обосрать ее, ее авторов, тех, кто хоть как то замешан в этой статье, и сам этот ресурс. Взрослейте ребятки!!!!
0 |
33013
24-09-2009 13:47:29
> Взрослейте ребятки!!!! а ты видно как был не_умным так и остался. только теперь ещё и старый. > читающие себя самыми умными Ты конечно же лишен это недостатка =)
0 |
Страницы: 1  2  3  4