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

18 декабря 2017 года

Опубликован метод скрытия частей кода при выводе изменений при помощи команды "git diff", которая часто используется для изучения присылаемых патчей. Добавив в код escape-последовательность "([http://web.archive.org/web/20090227051140/http://ascii-table.com/ansi-escape-sequences-vt-100.php Архивная копия от 27 февраля 2009 на Wayback Machine) [8m]" атакующий может сделать невидимой часть при выводе на экран с использованием терминала, поддерживающего команды VT100.

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

Источники править


 
 
Creative Commons
Эта статья содержит материалы из статьи «Метод подстановки троянского кода, невидимого при просмотре в git diff», опубликованной OpenNET и распространяющейся на условиях лицензии Creative Commons Attribution (CC BY) — указание автора, источник и лицензию.
 
Эта статья загружена автоматически ботом NewsBots в архив и ещё не проверялась редакторами Викиновостей.
Любой участник может оформить статью: добавить иллюстрации, викифицировать, заполнить шаблоны и добавить категории.
Любой редактор может снять этот шаблон после оформления и проверки.

Комментарии

Викиновости и Wikimedia Foundation не несут ответственности за любые материалы и точки зрения, находящиеся на странице и в разделе комментариев.