The OpenNET Project / Index page

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



Индекс форумов
Составление сообщения

Исходное сообщение
"Атака через подстановку аргументов при использовании масок в..."
Отправлено Ordu, 29-Июн-14 13:02 
> если говорить о linux и юниксах, где значительная часть операций идёт через
> шел, то строки именно монолитные и в execve попадают порезанными примерно
> по пробелам шеллом. Покрути своей невнимательнйо мордочкой вверх и узри что
> речь идёт о sh.

Простите, я полагаю порезку "примерно по пробелам" неизбежной. Можно конечно заменить "примерно пробелы" "примерно запятыми", или "примерно точками с запятой", но, по-моему, ничего от этого коренным образом не изменится: процесс парсинга скрипта/командной строки неизбежен. Будем ли мы дополнять его тегированием, или не будем, но резать строку на части всё равно придётся, потому что я вбиваю команды разбивая отдельные части пробелами.

> И эта порезка на части для execve() даже при правильном использовании без теггирования
> мало чем помогает.

Расскажите мне, как вы планируете тегировать поток черектеров проходящий через pipe. Ведь список аргументов может генерироваться сторонним процессом, и передаваться в качестве аргументов целевому. Можно не тегировать pipe, можно просто договориться, что через пайп можно передавать лишь аргументы отличные от опций. Но это тоже ведь не совсем удачно, а если я дополняю в стороннем процессе каждый аргумент опцией-"тегом", поясняющей что это за аргумент? Ну, например, генерирую последовательность: --ifile=a --ofile=b --ifile=c --ofile=d...

Отмечу, что теги придётся уметь хранить и в файле, потому, что создавая список файлов/опций для вызова программы (б.м. многократного), бывает удобно складывать список опций/файлов в файлик, по одной на строке. Отмечу, что механизм тегирования будет необходим в виде самостоятельного механизма, который я, как пользователь командной строки, должен иметь возможность использовать тогда, когда мне это удобно, потому что случается собирать аргументы из данных имеющих строковый или числовой тип. То есть из строк и чисел я хочу получать, по-желанию, имя файла или просто аргумент, так как я захочу, а не так как решит "эвристика" программы, которая будет заниматься тегированием.

В общем я к тому клоню, что если начать тегировать, то кончится это неуёмным использованием xml'я во все щели. Быть может, разработчики-таки придумают свой синтаксис, покомпактнее xml'я, но, боюсь, сильно лучше от этого не станет. От читабельности вывода программ придётся отказаться точно. Может это и к лучшему, но до тех пор, пока вы бестолково рассуждаете о том, как бы было хорошо, если бы кто-нибудь сделал хорошо, оценить ваши идеи мы не можем. Чтобы донести свои идеи до окружающих, надо писать код, вы ведь в курсе этого?

И, между прочим, чтобы решить описанную выше проблему, я могу предложить вам следующий скрипт в cron'е: find / -name '-*' -exec rm -rf -- {} \; Решение половинчатое, правильнее было бы на уровне vfs запретить создание файлов начинающихся с -. Но это уже для тех, кому больше всех надо. Отмечу что такое решение, по сравнению с вашим существенно проще и убивает проблему на корню, а не переносит её в другую плоскость. Создаётся, правда, второстепенная проблема -- невозможность иметь в файловой системе файлы начинающиеся с '-', но это не столь критично, по-моему: мне не приходилось сталкиваться с файлами, чьё имя начиналось бы с -.

 

Ваше сообщение
Имя*:
EMail:
Для отправки ответов на email укажите знак ! перед адресом, например, !user@host.ru (!! - не показывать email).
Более тонкая настройка отправки ответов производится в профиле зарегистрированного участника форума.
Заголовок*:
Сообщение*:
 
При общении не допускается: неуважительное отношение к собеседнику, хамство, унизительное обращение, ненормативная лексика, переход на личности, агрессивное поведение, обесценивание собеседника, провоцирование флейма голословными и заведомо ложными заявлениями. Не отвечайте на сообщения, явно нарушающие правила - удаляются не только сами нарушения, но и все ответы на них. Лог модерирования.



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

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