2014 dxdy logo

Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки




Начать новую тему Ответить на тему
 
 Опасности при обработке LaTeX
Сообщение05.08.2016, 02:57 


25/11/08
449
Если код LaTeX поступает из ненадежного источника и обрабатывается, то возникают проблемы с безопасностью.

Например, командами \openin \read \openout \write можно открывать файлы, читать и писать в них.

Если ренедеринг происходит на веб сервере, то еще есть опасность введения команд, вызывающих зацикливание, например \loop \while.

Какие вообще есть потенциально опасные команды? Как их отключить или фильтровать? Как запретить latex читать и писать файлы вне определенной директории?

 Профиль  
                  
 
 Re: Опасности при обработке LaTeX
Сообщение05.08.2016, 19:25 


25/11/08
449
Допустим, есть фильтр запрещенных команд. Можно ли как-то его обойти, используя команды переопределения операторов, замены кодировок, склеивая операторы из кусочков строк? Какими командами это можно делать?

 Профиль  
                  
 
 Re: Опасности при обработке LaTeX
Сообщение05.08.2016, 19:47 
Заслуженный участник
Аватара пользователя


31/01/14
11305
Hogtown
(la)tex может исполняться с или без --shell-escape и во втором случае опасность возрастает т.к. \write18{сделай это} эквивалентна тому, что пользователь напечатает "сделай это" в терминале (консоли).

Разработчики пару лет назад внедрили набор исполняемых в терминале безопасных команд.

Некоторые редакторы тоже допускают подобный выход в терминал(напр. vi)

 Профиль  
                  
 
 Re: Опасности при обработке LaTeX
Сообщение05.08.2016, 20:36 


25/11/08
449
Red_Herring в сообщении #1142262 писал(а):
(la)tex может исполняться с или без --shell-escape и во втором случае опасность возрастает т.к. \write18{сделай это} эквивалентна тому, что пользователь напечатает "сделай это" в терминале (консоли).
Спасибо. Да, shell-escape я первым делом отключил. Но все равно есть возможность читать и писать файлы. Не подскажете, где найти полную документацию с описанием всех команд, в том числе и команд работы с файлами?

 Профиль  
                  
 
 Re: Опасности при обработке LaTeX
Сообщение05.08.2016, 23:28 


25/11/08
449
Такая конструкция
Используется синтаксис LaTeX
\def \x {\string\in}
\def \y {put\{myfile.txt\}}
\x\y
дает просто текст \input{myfile.txt}.
В принципе возможно ли подобным образом создать команду и далее ее выполнить?

 Профиль  
                  
 
 Re: Опасности при обработке LaTeX
Сообщение06.08.2016, 00:45 


13/07/14
257
https://tex.stackexchange.com/questions/tagged/security
https://tex.stackexchange.com/questions/262625/security-latex-injection-hack
https://tex.stackexchange.com/questions/100932/is-luatex-as-secure-as-pdftex
https://tex.stackexchange.com/questions/104433/xelatex-inside-chroot-jail
https://tex.stackexchange.com/questions/10418/how-can-i-safely-compile-other-peoples-latex-documents

 Профиль  
                  
 
 Re: Опасности при обработке LaTeX
Сообщение06.08.2016, 12:46 


25/11/08
449
Lenchik, спасибо. По некоторым ссылкам уже попадал, но по некоторые нет, и они помогли лучше разобраться.

Еще не совсем разобрался, как в конфиге полностью отключить shell escape. Встречаются варианты: shell_escape = 0, p, и даже y.

 Профиль  
                  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 7 ] 

Модераторы: Karan, Toucan, PAV, maxal, Супермодераторы



Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group