Какие уязвимости могут тут быть?

Ссылка скопирована
1 ответ

У меня есть загрузка csv-файла, в котором хранится два столбца: имя файла и его содержимое. Что-то вроде:
test.html | Hello, world
a.txt | привет

После того, как файл загрузили, я кидаю в папку эти файлы с их содержимым.
Какие тут могут быть проблемы? Заранее спасибо

Дополнительно:

Где лежат файлы, которые вы куда-то кидаете? "Кидаете" значит "копируете" или "перемещаете"?

Ответы:

Если файл csv , то это текст с разделителями. Т.е , если сам текст не экстремистский, то ничего страшного произойти не сможет )
Или уточните вопрос.

  • Да, csv это текст с разделителем, но мы загружаем на сайт файлы, записанные в нем. То есть если мы напишем index.php и запишем туда какую-нибудь белеберду, то это файл с белебердой будет хранится на сервере.
    Мне интересно какие именно атаки могут произойти(SQL-инъекции, или XSS-атаки или еще что-то)
  • zahar22, сам по себе файл не кусается. Его нужно сделать исполняемым и выполнить. Соотвественно, если. кто попало не проделает эти манипуляции бояться нечего. Но ведь , кто попало и не имеет доступа к фолдеру с этими файлами ?

    Превентивно можно ограничивать права на запуск средствами ОС.

  • zahar22, то есть, вы сохраняете файл с именем, которое захотел пользователь? лучше не надо так. придумывайте сами имя файла на лету (как в формате Maildir делается). хоть по unixtime + pid + random + sequence.

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

лучший способ проверить, является ли файл допустимым CSV-файлом, — попытаться проанализировать его

https://stackoverflow.com/questions/3739013/verify...

+ php_flag engine off на диру с загруженными файлами

cross site request forgery (наиболее вероятно и достаточно опасно)
clickjacking (хотя он тут не кажется опасным)
возможность забить ваш диск большим количеством файлов (если на виртуалке 20 гигов, то передать 20 гиг скриптом можно быстро)
возможность залить какой-то ненастоящий CSV
если (самое ужасное) имя и-или путь к файлу как-то зависит от пользователя (от данных в форме) - возможность перезаписать другие доступные файлы

Привет.

Да, csv это текст с разделителем, но мы загружаем на сайт файлы, записанные в нем. То есть если мы напишем index.php и запишем туда какую-нибудь белеберду, то это файл с белебердой будет хранится на сервере.
Мне интересно какие именно атаки могут произойти(SQL-инъекции, или XSS-атаки или еще что-то)

Отталкивайтесь от максимально возможного риска, что в данном случае будет шеллом (в идеале - однострочником). Ну и, в зависимости от реализации/обстоятельств, можно ещё на CSV-инъекции обратить внимание.

В остальном - зависит уже от конкретных деталей реализации этого функционала.

Если содержимое .csv в базу запросом сохранять, то можно еще в тело csv "DROP DATABASE" вписать

Нужно решить такую задачу?

Опишите проблему, и специалист поможет с настройкой, исправлением ошибки или доработкой сайта. Подберём понятный план работ без лишней переписки.

Заказать помощь
Лучший ответ
1
Ольга Сеть Ответ

Для обеспечения безопасности и защиты от уязвимостей на сайте необходимо применять ряд мер предосторожности. Ниже приведены некоторые из наиболее распространенных уязвимостей, которые могут быть присутствовать на сайте:

1. SQL инъекции: Уязвимость, при которой злоумышленник может внедрить зловредный SQL код в запрос к базе данных. Для защиты от этой уязвимости необходимо использовать подготовленные запросы и параметризованные запросы.

2. XSS атаки: Уязвимость, при которой злоумышленник может внедрить вредоносный JavaScript код на страницу сайта. Для защиты от XSS атак необходимо проводить фильтрацию и экранирование вводимых пользователем данных перед их выводом на страницу.

3. CSRF атаки: Уязвимость, при которой злоумышленник может вынудить пользователя выполнить нежелательное действие на сайте. Для защиты от CSRF атак необходимо использовать токены CSRF и проверять Referer заголовок.

4. Недостаточная аутентификация и авторизация: Уязвимость, при которой злоумышленник может получить доступ к защищенным ресурсам без необходимых прав. Для защиты от этой уязвимости необходимо использовать сильные пароли, двухфакторную аутентификацию и правильно настроить права доступа.

5. Утечка конфиденциальных данных: Уязвимость, при которой злоумышленник может получить доступ к конфиденциальным данным пользователей. Для защиты от утечки данных необходимо использовать шифрование данных, хранить пароли в хешированном виде и ограничивать доступ к конфиденциальным данным.

Для обеспечения безопасности сайта необходимо регулярно проводить аудит безопасности, обновлять программное обеспечение, следить за новыми уязвимостями и применять соответствующие меры защиты. Важно также обучать персонал по вопросам безопасности и следить за безопасностью сторонних компонентов, которые могут использоваться на сайте.

Другие ответы (0)

Пока нет других ответов. Будьте первым, кто поможет автору.

Ответить на вопрос

комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Вам также может быть интересно