Secure file upload pipeline
Изолирано приемане и обработка на user-uploaded files.
Какво е
Изолирано приемане и обработка на user-uploaded files.
Как работи
Extension/MIME/content checks, random filenames, non-executable storage и malware scanning.
Пример
Сайт позволява upload на „profile image“. Ако файлът се записва в executable webroot със запазено attacker-controlled име, upload feature може да стане web-shell delivery mechanism.
Добър pipeline
Upload → size/type checks → random name → non-executable storage → content processing/scanning → controlled serving
Типична грешка
Да се вярва само на extension или client-supplied MIME type. И двете идват от клиента, тоест от човека, на когото точно не трябва да вярваме.
Практическа имплементация
- Store outside webroot.
- Re-encode images/docs where possible.
- Archive extraction with path controls.
- Separate processing sandbox.
Какво НЕ решава
Content scanners не са гаранция срещу zero-days или parser bugs.
Предпазва най-силно от
- Local File Inclusion (LFI) · Web приложения и браузърни атаки
- Remote File Inclusion (RFI) · Web приложения и браузърни атаки
- Unrestricted File Upload · Web приложения и браузърни атаки
- Web shell · Malware и злонамерен код
- Zip Slip / Archive Path Traversal · Web приложения и браузърни атаки