Я столкнулся с ситуацией, когда файлы загружаются на сервер, у которого есть непечатаемые символы UTF-8 в имени файла. Я знаю, как исправить имена, но я хотел бы иметь возможность создавать файлы для тестирования, и я также хотел бы понять, как люди могут случайно (или намеренно) делать это в первую очередь.Как создать файл с непечатаемым символом в имени?
Итак, с учетом того, каковы возможные способы, которыми человек может создавать имена файлов, в которых есть непечатаемые символы? В этом случае это DELETE (U + 007F), но меня интересует любой непечатаемый символ.
Я ищу методы, которые легко выполнить намеренно в командной строке (linux, unix и DOS), но также и для способов, которыми человек может случайно это сделать с помощью командной строки или графического интерфейса (Windows, OSX, Linux).
Можете ли вы расширить о том, как они время закачанный? Причина, о которой я прошу, заключается в том, что если вы используете HTTP, например, имя файла обычно будет предоставляться как часть запроса с использованием [multipart/form-data] (https://www.w3.org/TR/html401/interact /forms.html#h-17.13.4.2). Браузер будет использовать имя файла выбранного файла. Но если вас интересуют векторы злоупотреблений, то вы должны заметить, что предоставленное значение может быть любым (даже именем, которое не может существовать в данной файловой системе), если запрос построен за пределами браузера. –
@nj_ это хороший момент. В этом случае файлы загружаются через HTTP с использованием multipart/form-data, предположительно через браузер клиента. Меня больше интересуют случайные векторы, чем векторы злоупотреблений, но я был бы рад узнать о возможных сценариях. – thomij