Pentestrapport

Filupload, eksport og rapporter i produktet

Filupload, eksport og rapporter i produktet

Kunderne uploader kontrakter, billeder og regneark, og de henter data ud igen som eksport eller færdige rapporter. Det er de steder, hvor kundernes oplysninger kommer ind i produktet og forlader det i en form, som produktet ikke længere styrer. Om funktionerne er godt nok dækket af jeres pentest, afhænger af to forhold: at de står udtrykkeligt i omfanget, og at testeren har adgang til dem med flere roller og flere kunder.

Filfunktioner bliver let overset, fordi de ligner hjælpefunktioner. For kunderne kan de være det vigtigste, de bruger produktet til.

Hvorfor kunderne spørger til filer

En kundes sikkerhedsansvarlige tænker i to retninger. Kan en fil, som en anden bruger har lagt op, skade vores medarbejdere, når de åbner den? Og kan vores filer og eksporter havne hos nogen, der ikke skulle have dem? Spørgsmålene dukker op i spørgeskemaer og på sikkerhedsmøder, måske formuleret som spørgsmål om virusscanning, adgang til delte filer og sletning.

En pentest kan svare på en del af det. Den kan ikke svare på, hvordan jeres driftsprocesser omkring filerne fungerer over tid, fx sletning efter en opsigelse. Det skal besvares med jeres egen dokumentation.

Det, testen afprøver

OWASP’s vejledning til test af webapplikationer har et selvstændigt punkt om filupload. Det handler om, at en fil kan se ud til at være af en tilladt type og alligevel have indhold, der kan skade systemet, dets data eller andre brugere. Testen ser på funktionerne på begrebsniveau:

  • Upload · hvad produktet accepterer, og hvad der sker med en fil, der ikke er det, den giver sig ud for.
  • Visning og download · om en fil, én bruger har lagt op, kan påvirke en anden bruger, der åbner den.
  • Adgang til gemte filer · om en fil kun kan hentes af dem, der har ret til den, også når nogen kender eller gætter dens adresse.
  • Deling · om delingslinks giver mere adgang end tilsigtet, og om de udløber.
  • Eksport · om en eksport kun indeholder data fra den kunde og den rolle, der bestiller den.
  • Rapporter · om færdige rapporter samler data på tværs af kunder, eller viser felter, rollen ikke må se.

Hver af funktionerne grænser op til adskillelsen mellem kunderne. Det er her, en fejl i adskillelsen har de mest konkrete følger. → Multi-tenant: test af adskillelsen

Det, I aftaler før testen

Filfunktionerne kræver et par aftaler, som resten af produktet ikke nødvendigvis gør:

  • Omfanget · nævn upload, eksport og rapporter ved navn, så rapporten kan sige noget om dem. → Omfanget af testen
  • Roller · giv testeren konti med forskellige rettigheder hos mindst to testkunder, så grænserne kan afprøves. → Roller og rettigheder i produktet
  • Testfiler · aftal, at testeren kun bruger filer, der er lavet til testen, og at de bliver fjernet bagefter.
  • Lager og mængder · aftal grænser for størrelse og antal, så testen ikke fylder lageret eller påvirker andre kunder.
  • Baggrundsjob · fortæl testeren, hvis filer bliver behandlet efter upload, fx konverteret eller læst automatisk. Den behandling er en del af produktet og bør med.
  • Eksterne tjenester · hvis filer gemmes eller scannes hos en anden udbyder, skal det afklares, hvad udbyderens regler tillader.

Er der rigtige kundefiler i miljøet, skal det afklares på forhånd, om testeren må se dem. → Rigtige kundedata i testen

Eksport er data, der forlader jer

En eksport er et øjebliksbillede af kundens data i en fil, som kunden selv opbevarer. Når filen er hentet, gælder jeres adgangskontrol ikke længere. Derfor er spørgsmålet ikke kun, om eksporten virker, men om den indeholder præcis det, den skal.

To forhold er værd at give opmærksomhed i omfanget. Det ene er, om eksporten respekterer de samme rettigheder som skærmbillederne, så en bruger med begrænset adgang ikke kan hente det hele som fil. Det andet er, om en eksport, der bliver dannet i baggrunden og hentet senere, kun kan hentes af den, der bestilte den.

Kunderne kan også spørge, om der bliver registreret, hvem der har eksporteret hvad. Det er et spørgsmål om sporbarhed mere end om testen. → Logning og revisionsspor

Et tænkt eksempel

Et softwarehus sælger et system til håndtering af ansættelser, hvor kunderne uploader ansøgninger og cv’er. En ny kunde i rekrutteringsbranchen sender et spørgeskema med tre spørgsmål om filer: bliver uploadede filer kontrolleret, kan andre kunder se vores dokumenter, og hvem kan eksportere kandidatdata?

Softwarehuset kan besvare det andet og tredje spørgsmål med henvisning til et bestemt afsnit i pentestrapporten, fordi upload, deling og eksport stod i omfanget og blev afprøvet med to testkunder og tre roller. Det første spørgsmål handler om en driftsproces og besvares med softwarehusets egen beskrivelse, ikke med rapporten. Den opdeling gør svaret troværdigt.

Når testen finder noget

Fund i filfunktionerne er lette for kunderne at forstå, og det gør dem vigtige at forklare godt. Et fund, der lod én kunde hente en anden kundes eksport, er alvorligt for alle kunder, også dem, der aldrig har brugt funktionen. Et fund, der kræver, at en bruger hos kunden selv lægger en skadelig fil op, har en anden rækkevidde.

Beskriv i jeres svar til kunderne, hvilke funktioner fundet ramte, hvilke roller der kunne udnytte det, og om data hos andre kunder kunne nås. Det er de tre ting, kundens sikkerhedsansvarlige vil vurdere. → Forklar fund til kunden

Det skal I lade være med

  • At regne filfunktionerne for dækket af en generel test · nævn dem i omfanget, ellers kan rapporten ikke svare.
  • At teste upload med én bruger · det, en fil kan gøre ved andre brugere, kræver flere konti.
  • At glemme baggrundsbehandlingen · det, der sker med filen efter upload, er også produktet.
  • At lade testfiler blive liggende · fjern dem, når testen er slut.
  • At love kunderne, at alle filer bliver scannet, uden at have det dokumenteret · et løfte i skemaet skal kunne vises.

Hvad kan og ikke kan konkluderes

En test uden alvorlige fund i filfunktionerne viser, at testeren ikke kunne bruge upload, deling, eksport eller rapporter til at nå data eller brugere uden for sine rettigheder, med de roller og kunder, der var med. Den siger ikke, hvad der sker med filer, kunderne allerede har hentet, og den siger intet om jeres sletning og opbevaring over tid.

Tjekliste til filfunktionerne i testen

  • ☐ Står upload, deling, eksport og rapporter i omfanget?
  • ☐ Har testeren konti med flere roller hos mindst to testkunder?
  • ☐ Er baggrundsbehandlingen af filer beskrevet for testeren?
  • ☐ Er der aftalt grænser for størrelse og mængde?
  • ☐ Er det afklaret, om eksterne tjenester behandler filerne?
  • ☐ Er det aftalt, at testfiler fjernes efter testen?

Kilder

Senest gennemgået: oktober 2026.

Næste skridt

Del af: Artikler om pentestrapporten

Læs også: Roller og rettigheder i produktet · Rigtige kundedata i testen

→ Kontakt · Tlf. 70 13 63 23 · Penetrationstest af SaaS hos Nielco IT

Skrevet af John Nielsen, indehaver af Nielco IT. Selvstændig siden 2009 og mere end 30 års erfaring med IT‑sikkerhed. Om John Nielsen · LinkedIn

John Nielsen, Nielco IT

Kræver kunden en pentestrapport?

Skriv kort, hvilket krav kunden har stillet, og hvornår dokumentationen skal ligge klar. Så vender jeg tilbage.

Tak for din henvendelse. Jeg vender tilbage hurtigst muligt.