Несколько дней назад получил электронное письмо от анонимного (самозваного эксперта) вопроса о видимости исходного кода git для моего личного репозитория.
Содержимое письма было таким, как показано ниже.
============================================
Введение
Я обнаружил критическую проблему безопасности на вашем веб-сайте, которая требует вашего внимания как можно скорее, я высылаю подробности по этой проблеме ниже.Пожалуйста, внимательно прочитайте все детали.
Выпуск
Поскольку вы знаете, что сайт использует git-репозиторий для хранения своего исходного кода, я обнаружил, что конечная точка /.git неправильно обрабатывается на сайте,Итак, содержимое объектов git открыто для всех.Как мы можем легко вычислить хэш SHA-1 следующего файла.С помощью простого скрипта любой может скачать весь исходный код сайта.
Вот несколько примеров.
- http://www.example.com/.git/HEAD
- http://www.example.com/.git/config
- http://www.example.com/.git/logs/HEAD
Воздействие
Любое без разрешенияможет загружать и просматривать весь исходный код сайта, а злоумышленник может использовать его для выполнения различных действий.Порча сайта или криптография - вот некоторые из них.
Подтверждение концепции
Я прилагаю скриншоты собранного исходного кода из репозитория в качестве подтверждения концепции.Пожалуйста, проверьте вложения.
(на снимке экрана показана структура папок моего сайта)
Исправление
Исправление заключается в правильной блокировке /.git файлов на сайте, его можно отключить, отредактировавФайл .htaccess и файл httpf.conf, если вы используете apache.
=================================================
Мне удалось заблокировать папку .git с помощью htaccess.Я хотел бы спросить, была ли это ошибка в Git или в моем хранилище чего-то не хватало.