The OpenNET Project / Index page

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



"Метод подстановки троянского кода, невидимого при просмотре ..."
Вариант для распечатки  
Пред. тема | След. тема 
Форум Разговоры, обсуждение новостей
Изначальное сообщение [ Отслеживать ]

"Метод подстановки троянского кода, невидимого при просмотре ..."  –1 +/
Сообщение от opennews (??) on 18-Дек-17, 12:59 
Опубликован (https://www.twistlock.com/2017/12/13/hiding-content-git-esca.../) метод скрытия частей кода при выводе изменений при помощи команды "git diff", которая часто используется для изучения присылаемых патчей. Добавив в код escape-последовательность "[8m (http://ascii-table.com/ansi-escape-sequences-vt-100.php)" атакующий может сделать невидимой часть  при выводе на экран с использованием терминала, поддерживающего команды 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"`).


        


URL: https://www.twistlock.com/2017/12/13/hiding-content-git-esca.../
Новость: http://www.opennet.me/opennews/art.shtml?num=47759

Ответить | Правка | Cообщить модератору

Оглавление

Сообщения по теме [Сортировка по времени | RSS]


1. "Метод подстановки троянского кода, невидимого при просмотре ..."  –36 +/
Сообщение от Аноним (??) on 18-Дек-17, 12:59 
Ждем гитлаб/гитхаб-хейтеров, доказывающих, что "тирминал ита крута, веб ненужен вспомнити лефтпад"
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

18. "Метод подстановки троянского кода, невидимого при просмотре ..."  +5 +/
Сообщение от KonstantinB (ok) on 18-Дек-17, 15:27 
А когда в каком-нибудь гитлабе найдут похожий метод, эксплуатируемый через HTML или какой-нибудь RTL unicode, кто кому чего будет доказывать? :-)

Escape-последовательности надо экранировать точно так же, как это надо делать в вебе с HTML.

Но, конечно, нынешние разработчики гита удивляют.

Цитата:
https://www.twistlock.com/2017/12/13/hiding-content-git-esca.../

Git’s developers take

I sent an advisory to git’s security mailing list, listing all the issues I presented above. The initial responses I received were skeptical. One of the assertion suggested that the same problem can be reproduced with cat, so it is not git’s problem.

Ага, а то, что браузер интерпретирует HTML, это не проблема гитлаба? :-)

Ответить | Правка | ^ к родителю #1 | Наверх | Cообщить модератору

42. "Метод подстановки троянского кода, невидимого при просмотре ..."  +3 +/
Сообщение от pavlinux (ok) on 18-Дек-17, 21:18 
Найди 10 отличий https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/lin...
Ответить | Правка | ^ к родителю #18 | Наверх | Cообщить модератору

44. "Метод подстановки троянского кода, невидимого при просмотре ..."  –1 +/
Сообщение от Аноним (??) on 18-Дек-17, 22:00 
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/lin...
Ответить | Правка | ^ к родителю #42 | Наверх | Cообщить модератору

57. "Метод подстановки троянского кода, невидимого при просмотре ..."  +2 +/
Сообщение от pavlinux (ok) on 20-Дек-17, 01:46 
Через git diff повтори
Ответить | Правка | ^ к родителю #44 | Наверх | Cообщить модератору

60. "Метод подстановки троянского кода, невидимого при просмотре ..."  +/
Сообщение от Иван email(??) on 20-Дек-17, 06:36 
пробел же!
Ответить | Правка | ^ к родителю #42 | Наверх | Cообщить модератору

75. "Метод подстановки троянского кода, невидимого при просмотре ..."  +/
Сообщение от pavlinux (ok) on 26-Дек-17, 23:02 
> пробел же!

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

Ответить | Правка | ^ к родителю #60 | Наверх | Cообщить модератору

19. "Метод подстановки троянского кода, невидимого при просмотре ..."  +1 +/
Сообщение от Аноним (??) on 18-Дек-17, 15:28 
> Ждем гитлаб/гитхаб-хейтеров, доказывающих, что "тирминал ита крута, веб ненужен вспомнити лефтпад"

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

Ответить | Правка | ^ к родителю #1 | Наверх | Cообщить модератору

41. "Метод подстановки троянского кода, невидимого при просмотре ..."  +8 +/
Сообщение от Вареник on 18-Дек-17, 21:16 
Веб, IDE и консоль - дополняют друг друга.

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

Ответить | Правка | ^ к родителю #1 | Наверх | Cообщить модератору

73. "Метод подстановки троянского кода, невидимого при просмотре ..."  +1 +/
Сообщение от Xasd (ok) on 21-Дек-17, 14:13 
> кодить в IDE

особенно в ситуации когда эта IDE не понимает часть синтаксических конструкций (например новые) в этом коде, да? и приходится вместо того чтобы писать так как тебе хочится -- писать то что лишь умеет эта IDE

Ответить | Правка | ^ к родителю #41 | Наверх | Cообщить модератору

2. "Метод подстановки троянского кода, невидимого при просмотре ..."  –1 +/
Сообщение от Ю.Т. on 18-Дек-17, 13:02 
Кстати, о названиях  и шуточках (https://www.thefreedictionary.com/git)
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

3. "Метод подстановки троянского кода, невидимого при просмотре ..."  –6 +/
Сообщение от щи on 18-Дек-17, 13:06 
Так Линус говорил, что не умеет выбирать названия.
Ответить | Правка | ^ к родителю #2 | Наверх | Cообщить модератору

8. "Метод подстановки троянского кода, невидимого при просмотре ..."  +/
Сообщение от Iaaa (ok) on 18-Дек-17, 13:46 
Тут лучше: https://www.urbandictionary.com/define.php?term=Git
Ответить | Правка | ^ к родителю #2 | Наверх | Cообщить модератору

9. "Метод подстановки троянского кода, невидимого при просмотре ..."  –2 +/
Сообщение от Аноним (??) on 18-Дек-17, 13:50 
У меня в терминале сделал текст чёрным, но у меня фон прозрачный и всё было видно. Палево.
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

10. "Метод подстановки троянского кода, невидимого при просмотре ..."  –2 +/
Сообщение от fr0ster email(??) on 18-Дек-17, 14:14 
То есть diff укажет
-     * Must always return a value
+     * Must always return a value
и никому это не покажется странным?
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

12. "Метод подстановки троянского кода, невидимого при просмотре ..."  –3 +/
Сообщение от Аноним (??) on 18-Дек-17, 14:21 
Почему? Строка "* Must always return a value" добавлена целиком.
Ответить | Правка | ^ к родителю #10 | Наверх | Cообщить модератору

13. "Метод подстановки троянского кода, невидимого при просмотре ..."  +/
Сообщение от fr0ster email(??) on 18-Дек-17, 14:31 
> Почему? Строка "* Must always return a value" добавлена целиком.

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

Ответить | Правка | ^ к родителю #12 | Наверх | Cообщить модератору

15. "Метод подстановки троянского кода, невидимого при просмотре ..."  +2 +/
Сообщение от нэту on 18-Дек-17, 14:54 
а если поменять немного каммент, то сильно легче станет?
Ответить | Правка | ^ к родителю #13 | Наверх | Cообщить модератору

16. "Метод подстановки троянского кода, невидимого при просмотре ..."  +1 +/
Сообщение от fr0ster email(??) on 18-Дек-17, 15:09 
> а если поменять немного каммент, то сильно легче станет?

Так да, просмотреть станет легче.
С другой стороны простынь прямо в консоли смотреть неудобно, а вывод через less покажет строки полностью.


Ответить | Правка | ^ к родителю #15 | Наверх | Cообщить модератору

17. "Метод подстановки троянского кода, невидимого при просмотре ..."  +/
Сообщение от fr0ster email(??) on 18-Дек-17, 15:10 
>> а если поменять немного каммент, то сильно легче станет?
> Так да, просмотреть станет легче.

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

Ответить | Правка | ^ к родителю #16 | Наверх | Cообщить модератору

20. "Метод подстановки троянского кода, невидимого при просмотре ..."  –1 +/
Сообщение от Аноним (??) on 18-Дек-17, 15:34 
Одинаковая по отношению к чему? В примере новая строка добавляется, а не старая меняется.
Ответить | Правка | ^ к родителю #13 | Наверх | Cообщить модератору

25. "Метод подстановки троянского кода, невидимого при просмотре ..."  +/
Сообщение от Гоги on 18-Дек-17, 16:01 
> То есть diff укажет
> -     * Must always return a value
> +     * Must always return a value
> и никому это не покажется странным?

Ты такой внимательный, что читаешь каждый символ? Попробуй попринимать десяток патчей в час - глаза вывалятся!

Ответить | Правка | ^ к родителю #10 | Наверх | Cообщить модератору

35. "Метод подстановки троянского кода, невидимого при просмотре ..."  –3 +/
Сообщение от Аноним (??) on 18-Дек-17, 19:28 
Ну можно же сканер настроить на отлов подобных несуразностей.
В конце концов в *никсах всегда гордились, что возможностей автоматизации вагон и маленькая тележка, а тут значит "бери больше кидай дальше"?
Ответить | Правка | ^ к родителю #25 | Наверх | Cообщить модератору

47. "Метод подстановки троянского кода, невидимого при просмотре ..."  –1 +/
Сообщение от Аноним (??) on 19-Дек-17, 00:45 
Ну теперь вот мы все в курсе и все настроим! Я у себя уже сделал. А ты?
Ответить | Правка | ^ к родителю #35 | Наверх | Cообщить модератору

29. "Метод подстановки троянского кода, невидимого при просмотре ..."  –2 +/
Сообщение от Аноним (??) on 18-Дек-17, 16:49 
от изменения конца строки будет похожая запись, могут пропустить не глядя
Ответить | Правка | ^ к родителю #10 | Наверх | Cообщить модератору

38. "Метод подстановки троянского кода, невидимого при просмотре ..."  –2 +/
Сообщение от Аноним (??) on 18-Дек-17, 20:50 
Во вменяемых проектах за изменение конца строки делают аяй.
Ответить | Правка | ^ к родителю #29 | Наверх | Cообщить модератору

46. "Метод подстановки троянского кода, невидимого при просмотре ..."  +3 +/
Сообщение от Ordu email(ok) on 19-Дек-17, 00:05 
Ты консольным браузером, что ли пользуешься, и не видишь картинок?

Там нарисован diff, который добавляет комментарий. Вот не было комментария в сорце, а diff его добавил вместе со строчкой return 0. Случай несколько надуманный, но вообще патчи добавляющие в код комментарии попадаются довольно часто. Иногда они делают это ради добавления комментариев к существующему коду, иногда эти комментарии сопровождают добавляемый этим же патчем код.

> и никому это не покажется странным?

Любой необоснованный коммит, который делает непонятно что, покажется странным. Поэтому, естественно, что при реальном использовании коммит должен иметь видимое назначение, понятное тому, кто принимает патч, и более того, тот кто принимает патч должен согласиться с необходимостью такого патча.

Практическое использование сложно по другой причине. В ядро, например, патчи засылаются через почту, а почтовик может не обратывать esc-последовательности как esc-последовательности. На github пуллреквесты отрисовываются через html, и там лишние esc-последовательности тоже будут видны. Тут нужен довольно специфичный воркфлоу, когда работа с git идёт именно в терминале, патчи пересылаются через git pull/push (или ещё каким способом, при котором пересылаемые патчи не видны в процессе пересылки между репозиториями), и при этом не используются дополнительные обёртки, типа gitk, github, magit, и прочих.

Ответить | Правка | ^ к родителю #10 | Наверх | Cообщить модератору

21. "Метод подстановки троянского кода, невидимого при просмотре ..."  –6 +/
Сообщение от Аноним (??) on 18-Дек-17, 15:45 
Так и запишем: не принимать патчи из непроверенных источников
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

22. "Метод подстановки троянского кода, невидимого при просмотре ..."  –2 +/
Сообщение от Аноним (??) on 18-Дек-17, 15:49 
Остроумно, но едва ли "defang" этих escape-последовательностей при выводе на терминал может составить проблему.
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

27. "Метод подстановки троянского кода, невидимого при просмотре ..."  –6 +/
Сообщение от Аноним (??) on 18-Дек-17, 16:08 
Для некоторых станут открытием закладки в компиляторе. Компелируйте компилятор, параноики.
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

34. "Метод подстановки троянского кода, невидимого при просмотре ..."  –3 +/
Сообщение от Аноним (??) on 18-Дек-17, 18:43 
Чтобы они стали для нас открытием, надо, чтобы ты показал нам реальные их примеры. А про теоретическую возможность уже не первый десяток трындят.
Ответить | Правка | ^ к родителю #27 | Наверх | Cообщить модератору

43. "Метод подстановки троянского кода, невидимого при просмотре ..."  –1 +/
Сообщение от Борщдрайвен бигдата on 18-Дек-17, 21:39 
Уж не помню где, но я читал морозную историю (перевод) именно о закладке в компиляторе, найденной случайно в ходе доработки какой-то программы сотрудником в каком-то университете.
Увлекательная вещь, но я ее никак не могу найти.
Ответить | Правка | ^ к родителю #34 | Наверх | Cообщить модератору

37. "Метод подстановки троянского кода, невидимого при просмотре ..."  –1 +/
Сообщение от L29Ah (ok) on 18-Дек-17, 19:52 
В Gentoo не воспроизводится.
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

74. "Метод подстановки троянского кода, невидимого при просмотре ..."  +/
Сообщение от pripolz on 23-Дек-17, 01:52 
>  В Gentoo не воспроизводится.

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

Ответить | Правка | ^ к родителю #37 | Наверх | Cообщить модератору

45. "Метод подстановки троянского кода, невидимого при просмотре ..."  –10 +/
Сообщение от Аноним (??) on 18-Дек-17, 23:04 
>с использованием терминала, поддерживающего команды VT100.

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

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

51. "Метод подстановки троянского кода, невидимого при просмотре ..."  +/
Сообщение от nobody (??) on 19-Дек-17, 11:44 
Командное окружение гита этим и замечательно, что позволяет комфортно обходиться без GUI искаропки, в отличие от, например svn. Поставил в своё время TortoiseGit и так им и не пользовался. А вот без TortoiseSVN жить весьма уныло
Ответить | Правка | ^ к родителю #45 | Наверх | Cообщить модератору

59. "Метод подстановки троянского кода, невидимого при просмотре ..."  +/
Сообщение от pavlinux (ok) on 20-Дек-17, 01:50 
>  в отличие от, например svn.

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

Ответить | Правка | ^ к родителю #51 | Наверх | Cообщить модератору

58. "Метод подстановки троянского кода, невидимого при просмотре ..."  +1 +/
Сообщение от pavlinux (ok) on 20-Дек-17, 01:48 
>>с использованием терминала, поддерживающего команды VT100.
> кто им пользуется?

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

Ответить | Правка | ^ к родителю #45 | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

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