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

Комментарии[править]

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