Первая вещь, которую я сделал бы, использовать dig
или host
видеть, является ли IP сайта корректным IP. В этом случае IP принадлежит "hostmonster.com". Если это не Ваш веб-хост, то кто-то угнал Ваш DNS. Если это, то проблема или с hostmonster.com, или с Вашей собственной установкой на hostmonster.com.
Правило 1 написания безопасного кода: Вы должны дезинфицировать вводимые пользователем данные .
По крайней мере, передайте -
в предложение mkdir для предотвращения манипулирования переключателями.
В настоящее время его можно использовать для создания каталогов в произвольных местах с произвольными разрешениями.
Само по себе это, вероятно, не приведет к нарушению правил, но вы можете передать такие вещи, как:
-m 0777 /var/lib/mysql/newdb
Чтобы создать aa новая база данных mysql, в которую любой может писать.
Здесь также может быть проведена атака отказа в обслуживании, потому что каждое пространство рассматривается как новый каталог. поэтому вы можете передать 32760 новых путей для обработки.
Наконец, некоторые Псевдо файловые системы чувствительны к новым каталогам неожиданным образом. В Fedora, например, каталоги типа / sys / fs / cgroup / newcgroup
могут создать новую контрольную группу.
На данный момент я могу добавить папку с возможностью записи всем, если userFile.txt содержит -m 777 /.secretstorage
По моему мнению, это уже достаточно плохо, чтобы не использовать такие конструкция.
Верно, что с текущим опубликованным вами скриптом невозможно ввести другую команду.
Но в зависимости от того, какие другие команды вы будете использовать с этой переменной, может стать намного хуже.
Например, если вы планируете очистить в конце своей программы, используя эту переменную и rm
...