Ako testovať bezpečnosť nahrávaných súborov (typy, limity, vírusy)

Príklad

Používateľ môže do systému nahrávať rôzne súbory:

  • profilové obrázky,
  • PDF dokumenty,
  • prílohy k formulárom,
  • exporty z iných systémov,
  • prílohy do ticketov alebo komentárov.

Na prvý pohľad ide o jednoduchú funkcionalitu:
„Vyber súbor → Nahrať.“
V praxi je upload jedným z najrizikovejších miest aplikácie.

Stačí:

  • nesprávne povolený typ súboru,
  • slabá validácia MIME typu,
  • príliš veľký súbor,
  • škodlivý skript schovaný v obrázku,
  • alebo vírus v dokumente,

a aplikácia môže:

  • spadnúť,
  • zahltiť disk,
  • sprístupniť škodlivý obsah ďalším používateľom,
  • alebo umožniť útok na server.

Tester preto netestuje len:

  • „či sa súbor nahral“,

ale hlavne:

  • čo všetko sa dá nahrať,
  • čo systém odmietne,
  • ako sa kontroluje bezpečnosť,
  • a čo sa stane po nahraní.

Ako otestovať bezpečnosť nahrávaných súborov

1. Povolené a zakázané typy súborov

  • Over, ktoré typy súborov systém povoľuje (pdf, jpg, png, docx, xlsx…).
  • Skús nahrať zakázané typy:
    • exe
    • bat
    • cmd
    • js
    • php
    • sh
  • Over, či systém súbor korektne odmietne.
  • Skontroluj:
    • chybové hlášky,
    • HTTP status,
    • logovanie incidentu.

2. Kontrola MIME typu vs. prípony

  • Premenuj súbor:
    • virus.exevirus.jpg
    • script.phpimage.png
  • Over:
    • či systém kontroluje len príponu,
    • alebo aj skutočný MIME typ.
  • Skús nahrať:
    • poškodené obrázky,
    • nevalidné PDF,
    • prázdne súbory.

3. Limity veľkosti súboru

  • Over maximálnu povolenú veľkosť uploadu.
  • Testuj:
    • tesne pod limitom,
    • presne na limite,
    • tesne nad limitom.
  • Skús:
    • upload 0 B súboru,
    • upload extrémne veľkého súboru.
  • Sleduj:
    • timeouty,
    • spotrebu pamäte,
    • pád aplikácie,
    • chovanie reverse proxy alebo load balancera.

4. Vírusová kontrola a malware scanning

  • Over, či sa súbory skenujú antivírusom.
  • Ak existuje testovacie prostredie:
    • použi EICAR testovací antivírusový súbor.
  • Over:
    • či sa súbor zablokuje,
    • či sa uloží do karantény,
    • či používateľ dostane správnu informáciu.
  • Skontroluj:
    • auditné logy,
    • notifikácie administrátorovi,
    • retry mechanizmy pri výpadku antivírusu.

5. Upload škodlivého obsahu

  • Skús upload:
    • HTML súboru so scriptom,
    • SVG s vloženým JavaScriptom,
    • Office dokumentu s makrami.
  • Over:
    • či sa obsah sanitizuje,
    • či sa súbory nespracujú ako aktívny obsah.
  • Testuj:
    • XSS cez uploadnutý súbor,
    • download a následné otvorenie v prehliadači.

6. Ukladanie a prístup k súborom

  • Over:
    • kam sa súbory ukladajú,
    • či majú náhodné názvy,
    • či sa nedá uhádnuť URL.
  • Skús:
    • prístup bez prihlásenia,
    • prístup cez priamy link,
    • zmenu ID súboru v URL.
  • Over:
    • autorizáciu,
    • expiráciu linkov,
    • podpisované URL,
    • ochranu proti directory listing.

7. Duplicitné názvy a špeciálne znaky

  • Nahraj:
    • dva súbory s rovnakým názvom,
    • názvy s diakritikou,
    • extrémne dlhé názvy,
    • špeciálne znaky:
      • ../
      • %00
      • <script>
  • Over:
    • správne escapovanie,
    • ochranu proti path traversal,
    • stabilitu databázy a filesystemu.

8. Paralelné a hromadné uploady

  • Spusti viac uploadov naraz.
  • Testuj:
    • race conditions,
    • zamknutie súborov,
    • prepisovanie dát,
    • výkon pri viacerých používateľoch.
  • Over:
    • limity počtu uploadov,
    • throttling,
    • rate limiting.

9. Mazanie a životný cyklus súborov

  • Over:
    • čo sa stane po zmazaní entity,
    • či sa zmaže aj fyzický súbor,
    • či nezostávajú orphan súbory.
  • Testuj:
    • rollback,
    • archiváciu,
    • retention pravidlá,
    • GDPR výmaz.

10. Monitoring a audit

  • Skontroluj:
    • kto uploadoval súbor,
    • kedy,
    • z akej IP,
    • aký typ súboru,
    • výsledok antivírusovej kontroly.
  • Over:
    • auditné logy,
    • SIEM integrácie,
    • alerty pri podozrivých uploadoch.

Bezpečnosť uploadu nie je len frontendová validácia typu:
„Povolené sú iba JPG a PDF.“

Skutočné problémy často vzniknú:

  • na backend serveri,
  • pri spracovaní súboru,
  • pri generovaní preview,
  • pri antivírusovej kontrole,
  • alebo pri nesprávne nastavených prístupoch.

Upload súborov je vstupný bod do systému.
A každý vstupný bod je potenciálny bezpečnostný incident.

Pridajte Komentár

Vaša e-mailová adresa nebude zverejnená. Vyžadované polia sú označené *

Návrat hore