Sikkerhed · 24

Hacket Laravel- eller PHP-app

Laravel-apps bliver typisk ramt gennem en lækket .env-fil, debug-mode i produktion eller gamle pakker. Sådan får vi appen i luften igen inden for 24 timer.

Kontakt os

Sådan arbejder vi med Hacket Laravel- eller PHP-app

De fleste hacks af Laravel- og PHP-apps starter et af tre steder. Webserveren peger på projektets rod i stedet for public-mappen, så .env med databaseadgang, API-nøgler og APP_KEY kan hentes direkte. APP_DEBUG står til true i produktion, så fejlsider viser miljøvariabler og stier, og på ældre installationer har debug-siden Ignition haft en kendt sårbarhed, der gav mulighed for at køre kode. Eller composer-pakker og PHP selv er ikke opdateret, så kendte huller står åbne.

Vi tager appen af nettet eller bag en vedligeholdelsesside og sikrer en kopi af kode, database og logs. Derefter sammenligner vi koden på serveren med jeres Git-repository, gennemgår public- og storage-mapperne for fremmede PHP-filer, tjekker cronjobs, køer og brugere i databasen og kører composer audit mod de installerede pakker. Appen genetableres fra ren kode i Git og en database fra før angrebet eller renset for indsprøjtet indhold, og den kører igen inden for 24 timer.

Alle hemmeligheder i .env skiftes: APP_KEY, databaseadgang, mail, betalings- og API-nøgler. Debug-mode slås fra, webserveren peger kun på public, og PHP kører på en understøttet version med seneste sikkerhedsrettelser. PHP 8.1 fik sin sidste sikkerhedsrettelse i slutningen af 2025, og kritiske huller i PHP rettes løbende i nye patch-versioner af 8.2 til 8.5, så en app på en gammel version er udsat, uanset hvor ren koden er. Opgradering af Laravel eller PHP planlægges separat.

Hvornår det giver mening

  • Appen viser fremmed indhold eller omdirigerer besøgende, eller serveren sender spam.
  • Der ligger PHP-filer i public eller storage, som ikke findes i jeres Git-repository.
  • Fejlsider i produktion viser stakspor, stier eller miljøvariabler.
  • Hostingudbyderen har lukket kontoen, eller databasen indeholder brugere, ingen har oprettet.

Det får du

  1. Appen kørende igen inden for 24 timer fra ren kode og database
  2. Udskiftning af APP_KEY og alle nøgler i .env
  3. Fjernelse af bagdøre i public, storage, cronjobs og database
  4. Plan for opdatering af pakker, Laravel og PHP
Kontakt os

Sådan foregår det

  1. Lukning og kopi

    Appen tages af nettet eller bag en vedligeholdelsesside, og kode, database og logs gemmes, før noget slettes.

  2. Indgang og omfang

    Koden sammenlignes med Git, public, storage, cronjobs og database gennemgås, og indgangen findes.

  3. Genetablering

    Appen bygges fra ren kode, databasen renses eller hentes fra før angrebet, alle nøgler skiftes, og appen kører igen.

  4. Rapport og plan

    I får en rapport om indgang og omfang og en plan for opdatering af pakker, Laravel og PHP.

I dybden

.env og debug-mode

.env skal ligge uden for webroden, og kun public-mappen må være tilgængelig fra nettet. Vi tjekker webserverens konfiguration, at .env, .git og storage ikke kan hentes direkte, og at APP_DEBUG er false i produktion. Værktøjer som Telescope, Horizon og andre dashboards må kun være tilgængelige for godkendte brugere.

Pakker og PHP-version

En Laravel-app har typisk mange composer-pakker, og sårbarheder findes i dem lige så ofte som i frameworket. Vi kører composer audit, opdaterer pakker med kendte huller og tjekker, at PHP kører på en version, der stadig får sikkerhedsrettelser. Ligger appen på delt hosting med en gammel PHP-version, flytter vi den.

Hvor bagdøre gemmer sig

Bagdøre lægges typisk som PHP-filer i public eller i uploads under storage, som ændringer i eksisterende controllere og config-filer, eller som cronjobs og køjobs, der henter kode udefra. Vi sammenligner serverens kode med Git linje for linje og gennemgår crontab, supervisor og databasens brugere og jobs.

Fejl, vi ofte finder

  • Webroden peger på projektets rodSå kan .env, .git og composer-filer hentes direkte i browseren. Vi sætter webroden til public og blokerer resten.
  • Kun koden ryddes, nøglerne bliverBagdøren fjernes, men APP_KEY og databaseadgang er de samme, som angriberen har set. Vi skifter alt i .env.
  • Kode ændret direkte på serverenRettelser lavet på serveren uden for Git gør det umuligt at se, hvad der er angriberens. Vi deployer kun fra Git bagefter.

Sådan måler vi effekten

  • Tid fra opringning til appen kører igen (mål: under 24 timer)
  • Antal pakker med kendte sårbarheder i composer audit (mål: 0)
  • Gentagne infektioner inden for de følgende seks måneder

Rammer

Pris
Efter tid, typisk fra 10.000 kr.
Varighed
Inden for 24 timer, opgradering separat
Hvem
Laravel-udvikler og driftsansvarlig, forensics-specialist efter behov
Kontakt os

Sådan forløber det

Kl. 8.40 ringer I, fordi hostingudbyderen har lukket serveren for udsendelse af spam. Inden for en time er appen bag en vedligeholdelsesside, og kode, database og logs er gemt. Kl. 12 har vi fundet indgangen: webroden pegede på projektets rod, så .env kunne hentes, og der ligger to PHP-filer i storage og et fremmed cronjob. Om aftenen er appen deployet fra Git, APP_KEY og alle nøgler er skiftet, og webroden peger på public. Næste morgen kører den igen med debug-mode slået fra.

Se det i praksis

Cases

t.i.n.g. shop

t.i.n.g. shop

Skræddersyet design og udvikling af møbelshop. Markedsføring gennem PPC med 200% vækst.

Se alle cases
Rigtig Kaffe A/S

Rigtig Kaffe A/S

All-around design, udvikling, branding, strategi og søgemaskineoptimering

Sokkeposten

Sokkeposten

Nyt design og ny teknik: Astro-frontend på Cloudflare, PrestaShop 9.1 bagved og egen checkout.

Poetzsch Padborg

Poetzsch Padborg

Avanceret Google Tag Manager setup til konverteringstracking

Bolighuset Werenberg A/S

Bolighuset Werenberg A/S

Et digitalt sats på e-handel, der gav pote. Se vores arbejde for Werenberg, og hvordan vækstkurven blev stejl med en stabil og udviklingsdygtig webshop.

Ofte stillede spørgsmål

  • Tag appen af nettet eller bag en vedligeholdelsesside, og lad være med at slette filer, før der er taget en kopi af kode, database og logs. Skift adgange til server, hosting og Git, og ring til os. Er kunde- eller persondata berørt, skal I vurdere anmeldelse til Datatilsynet inden 72 timer.

  • APP_KEY bruges til at kryptere og signere cookies, sessioner og krypterede felter. Har en angriber nøglen, kan de forfalske data, appen stoler på. Vi skifter nøglen og bruger Laravels mulighed for at angive den gamle nøgle som tidligere nøgle, så krypterede data stadig kan læses, mens de krypteres om.

  • Oprydning afregnes efter tid og starter typisk omkring 10.000 kr. En opgradering af Laravel eller PHP til en ny hovedversion prissættes separat efter en gennemgang af koden og pakkerne.

  • Nej. Vi er et web-, e-handels- og AI-bureau, der tager sikkerheden i det digitale, vi bygger og drifter, alvorligt: site, shop, hosting, mail, DNS, adgange og backup. Penetrationstest, døgnbemandet overvågning (SOC), forensics og juridisk rådgivning henviser vi til specialister og koordinerer med dem.

  • Med et sikkerhedstjek af website, webshop, mail og adgange. På en til to uger får I en prioriteret liste over fund med alvor og indsats, og de kritiske kan typisk lukkes med det samme.

Næste Hacket OpenCart-webshop →