Метод подстановки троянского кода, невидимого при просмотре в git diff

Опубликован метод скрытия частей кода при выводе изменений при помощи команды «git diff», которая часто используется для изучения присылаемых патчей. Добавив в код escape-последовательность «[8m» атакующий может сделать невидимой часть при выводе на экран с использованием терминала, поддерживающего команды VT100.

Проблемы также выявлены в команде «git rm», которая выводит имя удаляемого файла с обработкой escape-последовательностей в нём. Например, можно создать файл при помощи команды touch `echo -e «e[45mTeste[0m»` и добавить его в git-репозиторий. Escape-последовательность будет обработана при удаления данного файла через «git rm». Аналогично можно добиться обработки escape-последовательностей в git-branch при их подстановке в имена файлов в каталоге .git/refs/heads (touch `echo -e «.git/refs/heads/e[45mTeste[0m»`).

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.