Как предотвратить инъекцию CSV при загрузке файлов CSV / Excel - PullRequest
0 голосов
/ 31 января 2019

Мое приложение имеет функцию загрузки файлов CSV / Excel на сервер базы данных.Служба SSIS на сервере базы данных, в свою очередь, использует для интеграции данных.

Проблема заключается в том, что приложение уязвимо для внедрения CSV.

Пример. Если вредоносный сценарий включен в шаблон Excel (любая ячейка Excel)во время загрузки, например

Вредоносный скрипт:

1) = cmd | '/ Ccmd'! 'A1

2) = cmd |' / Ccalc '!'A1

Успешно загружен вредоносный файл.Перешел к этому файлу и скрипт был выполнен.Этот файл также был сохранен на сервере для обработки, и он также был выполнен на сервере.

Так что мне нужно блокировать атаку инъекцией в течение самого времени загрузки.Если мне нужно полностью прочитать файл и проверить, что он содержит эти символы (+, =, "", @) и проверить себя при загрузке.Если он будет читать построчно, это вызовет проблемы с производительностью / временем ожидания, особенно для массовых файлов.

Как я могу наилучшим образом предотвратить эту инъекцию без какого-либо снижения производительности.Заранее спасибо.

...