The OpenNET Project / Index page

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



Вариант для распечатки  
Пред. тема | След. тема 
Форум Информационная безопасность (Безопасное программирование / Linux)
Режим отображения отдельной подветви беседы [ Отслеживать ]

Оглавление

Bash экранированние, LINUXORGRU (ok), 15-Мрт-24, (0) [смотреть все]

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


1. "Bash экранированние"  +/
Сообщение от Аноним (-), 15-Мрт-24, 12:14 
>[оверквотинг удален]
> Есть ли подвох?
> P.S Да я знаю про пайпы просто шела
>
 
> app1 | app2
>

> Но, не все программы умеют читать из стандартного ввода, промежуточные данные могут
> быть как-то в середине модифицированы (для этого lua мне и нужна)
> вызовы через popen это просто взять данные в одном месте, обработать
> на lua, передать дальше. И вот про это "передать" я вот
> балакаю :)

юзай экспорт и энвирон, таблицу эскейпов я тебе не вспомню, сам хочу запилить экранизатор, в сторону printf %q посмотри еще

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

2. "Bash экранированние"  +/
Сообщение от LINUXORGRU (ok), 15-Мрт-24, 12:59 
> юзай экспорт и энвирон

Из коробки в lua нет setenv только getenv, не ну можно через luajit FFI дёрнуть, но хочется любую луа без ограничений от 5.1 и до победного, короче без всяких особенностей.

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

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

И всё, и вроде как все проблемы решены разом. Но вдруг и внезапно есть лазейка? Вроде как нет, но я засомневался и притопал, может кто комидорку кинет в меня и скажет "Ха смотри как можно, вот я тебя и похакал".

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

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

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




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

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