The OpenNET Project / Index page

[ новости/++ | форум | wiki | теги | ]

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

Опубликован метод скрытия частей кода при выводе изменений при помощи команды "git diff", которая часто используется для изучения присылаемых патчей. Добавив в код escape-последовательность "[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"`).

  1. Главная ссылка к новости (https://www.twistlock.com/2017...)
  2. OpenNews: Неявные свойства языков программирования, которые могут привести к уязвимостям
  3. OpenNews: Концепция атаки по подмене копируемого в терминал текста с сайта
  4. OpenNews: Использование JavaScript для атаки через манипуляцию с содержимым буфера обмена
  5. OpenNews: Уязвимость в реализации автодополнения ввода в Bash
  6. OpenNews: Необычная уязвимость в Apache mod_rewrite
Лицензия: CC-BY
Тип: Проблемы безопасности
Ключевые слова: git, escape
При перепечатке указание ссылки на opennet.ru обязательно
Обсуждение Ajax/Линейный | Раскрыть все сообщения | RSS
 
  • 1.1, Аноним (-), 12:59, 18/12/2017 [ответить] [показать ветку] [···]    [к модератору]
  • –36 +/
    Ждем гитлаб/гитхаб-хейтеров, доказывающих, что "тирминал ита крута, веб ненужен вспомнити лефтпад"
     
     
  • 2.18, KonstantinB (ok), 15:27, 18/12/2017 [^] [ответить]     [к модератору]
  • +5 +/
    А когда в каком-нибудь гитлабе найдут похожий метод, эксплуатируемый через HTML ... весь текст скрыт [показать]
     
     
  • 3.42, pavlinux (ok), 21:18, 18/12/2017 [^] [ответить]    [к модератору]  
  • +3 +/
    Найди 10 отличий https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/diff/?id=6b
     
     
  • 4.44, Аноним (-), 22:00, 18/12/2017 [^] [ответить]    [к модератору]  
  • –1 +/
    https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/diff/?id=6b
     
     
  • 5.57, pavlinux (ok), 01:46, 20/12/2017 [^] [ответить]    [к модератору]  
  • +2 +/
    Через git diff повтори
     
  • 4.60, Иван (??), 06:36, 20/12/2017 [^] [ответить]    [к модератору]  
  • +/
    пробел же!
     
     
  • 5.75, pavlinux (ok), 23:02, 26/12/2017 [^] [ответить]    [к модератору]  
  • +/
    > пробел же!

    8 спереди или 4 сзади? :)

     
  • 2.19, Аноним (-), 15:28, 18/12/2017 [^] [ответить]    [к модератору]  
  • +1 +/
    > Ждем гитлаб/гитхаб-хейтеров, доказывающих, что "тирминал ита крута, веб ненужен вспомнити лефтпад"

    Смотрю книгу, вижу фигу.

     
  • 2.41, Вареник (?), 21:16, 18/12/2017 [^] [ответить]    [к модератору]  
  • +8 +/
    Веб, IDE и консоль - дополняют друг друга.

    Обсуждать код лучше с веб-ссылкой, кодить в IDE, перекидывать коммиты между ветками - в консоли.
    Только глупые люди противопоставляют мягкое светлому.

     
     
  • 3.73, Xasd (ok), 14:13, 21/12/2017 [^] [ответить]     [к модератору]  
  • +1 +/
    особенно в ситуации когда эта IDE не понимает часть синтаксических конструкций ... весь текст скрыт [показать]
     
  • 1.2, Ю.Т. (?), 13:02, 18/12/2017 [ответить] [показать ветку] [···]    [к модератору]  
  • –1 +/
    Кстати, о названиях  и шуточках (https://www.thefreedictionary.com/git)
     
     
  • 2.3, щи (?), 13:06, 18/12/2017 [^] [ответить]    [к модератору]  
  • –6 +/
    Так Линус говорил, что не умеет выбирать названия.
     
  • 2.8, Iaaa (ok), 13:46, 18/12/2017 [^] [ответить]    [к модератору]  
  • +/
    Тут лучше: https://www.urbandictionary.com/define.php?term=Git
     
  • 1.9, Аноним (-), 13:50, 18/12/2017 [ответить] [показать ветку] [···]    [к модератору]  
  • –2 +/
    У меня в терминале сделал текст чёрным, но у меня фон прозрачный и всё было видно. Палево.
     
  • 1.10, fr0ster (??), 14:14, 18/12/2017 [ответить] [показать ветку] [···]    [к модератору]  
  • –2 +/
    То есть diff укажет
    -     * Must always return a value
    +     * Must always return a value
    и никому это не покажется странным?
     
     
  • 2.12, Аноним (-), 14:21, 18/12/2017 [^] [ответить]    [к модератору]  
  • –3 +/
    Почему? Строка "* Must always return a value" добавлена целиком.
     
     
  • 3.13, fr0ster (??), 14:31, 18/12/2017 [^] [ответить]    [к модератору]  
  • +/
    > Почему? Строка "* Must always return a value" добавлена целиком.

    Ну например потому, что абсолютно одинаковая строка не вывелась бы так.

     
     
  • 4.15, нэту (?), 14:54, 18/12/2017 [^] [ответить]    [к модератору]  
  • +2 +/
    а если поменять немного каммент, то сильно легче станет?
     
     
  • 5.16, fr0ster (??), 15:09, 18/12/2017 [^] [ответить]     [к модератору]  
  • +1 +/
    Так да, просмотреть станет легче С другой стороны простынь прямо в консоли смот... весь текст скрыт [показать]
     
     
  • 6.17, fr0ster (??), 15:10, 18/12/2017 [^] [ответить]    [к модератору]  
  • +/
    >> а если поменять немного каммент, то сильно легче станет?
    > Так да, просмотреть станет легче.

    В смысле пропустить такие строки станет легче.

     
  • 4.20, Аноним (-), 15:34, 18/12/2017 [^] [ответить]    [к модератору]  
  • –1 +/
    Одинаковая по отношению к чему? В примере новая строка добавляется, а не старая меняется.
     
  • 2.25, Гоги (?), 16:01, 18/12/2017 [^] [ответить]     [к модератору]  
  • +/
    Ты такой внимательный, что читаешь каждый символ Попробуй попринимать десяток п... весь текст скрыт [показать]
     
     
  • 3.35, Аноним (-), 19:28, 18/12/2017 [^] [ответить]     [к модератору]  
  • –3 +/
    Ну можно же сканер настроить на отлов подобных несуразностей В конце концов в ... весь текст скрыт [показать]
     
     
  • 4.47, Аноним (-), 00:45, 19/12/2017 [^] [ответить]    [к модератору]  
  • –1 +/
    Ну теперь вот мы все в курсе и все настроим! Я у себя уже сделал. А ты?
     
  • 2.29, Аноним (-), 16:49, 18/12/2017 [^] [ответить]    [к модератору]  
  • –2 +/
    от изменения конца строки будет похожая запись, могут пропустить не глядя
     
     
  • 3.38, Аноним (-), 20:50, 18/12/2017 [^] [ответить]    [к модератору]  
  • –2 +/
    Во вменяемых проектах за изменение конца строки делают аяй.
     
  • 2.46, Ordu (ok), 00:05, 19/12/2017 [^] [ответить]     [к модератору]  
  • +3 +/
    Ты консольным браузером, что ли пользуешься, и не видишь картинок Там нарисован... весь текст скрыт [показать]
     
  • 1.21, Аноним (-), 15:45, 18/12/2017 [ответить] [показать ветку] [···]    [к модератору]  
  • –6 +/
    Так и запишем: не принимать патчи из непроверенных источников
     
  • 1.22, Аноним (-), 15:49, 18/12/2017 [ответить] [показать ветку] [···]    [к модератору]  
  • –2 +/
    Остроумно, но едва ли "defang" этих escape-последовательностей при выводе на терминал может составить проблему.
     
  • 1.27, Аноним (-), 16:08, 18/12/2017 [ответить] [показать ветку] [···]    [к модератору]  
  • –6 +/
    Для некоторых станут открытием закладки в компиляторе. Компелируйте компилятор, параноики.
     
     
  • 2.34, Аноним (-), 18:43, 18/12/2017 [^] [ответить]    [к модератору]  
  • –3 +/
    Чтобы они стали для нас открытием, надо, чтобы ты показал нам реальные их примеры. А про теоретическую возможность уже не первый десяток трындят.
     
     
  • 3.43, Борщдрайвен бигдата (?), 21:39, 18/12/2017 [^] [ответить]     [к модератору]  
  • –1 +/
    Уж не помню где, но я читал морозную историю перевод именно о закладке в компи... весь текст скрыт [показать]
     
  • 1.37, L29Ah (ok), 19:52, 18/12/2017 [ответить] [показать ветку] [···]    [к модератору]  
  • –1 +/
    В Gentoo не воспроизводится.
     
     
  • 2.74, pripolz (?), 01:52, 23/12/2017 [^] [ответить]    [к модератору]  
  • +/
    >  В Gentoo не воспроизводится.

    В дебиан стейбл тоже. Может это от програмки-терминала зависит?

     
  • 1.45, Аноним (-), 23:04, 18/12/2017 [ответить] [показать ветку] [···]    [к модератору]  
  • –10 +/
    >с использованием терминала, поддерживающего команды VT100.

    кто им пользуется? Я использую только графические фронтенлы для диффов вроде meld, tortoisegit и visual studio.

     
     
  • 2.51, nobody (??), 11:44, 19/12/2017 [^] [ответить]     [к модератору]  
  • +/
    Командное окружение гита этим и замечательно, что позволяет комфортно обходиться... весь текст скрыт [показать]
     
     
  • 3.59, pavlinux (ok), 01:50, 20/12/2017 [^] [ответить]    [к модератору]  
  • +/
    >  в отличие от, например svn.

    За зарплату оно всё прекрасно работает, и свн, гит, меркурий, бла-бла-блах...

     
  • 2.58, pavlinux (ok), 01:48, 20/12/2017 [^] [ответить]    [к модератору]  
  • +1 +/
    >>с использованием терминала, поддерживающего команды VT100.
    > кто им пользуется?

    Явно не мышкаклацкеры :)

     

     Добавить комментарий
    Имя:
    E-Mail:
    Заголовок:
    Текст:


      Закладки на сайте
      Проследить за страницей
    Created 1996-2018 by Maxim Chirkov  
    ДобавитьПоддержатьВебмастеруГИД  
    Hosting by Ihor