Udbyderen mener, at det er php-filerne på websitet, der har gjort det muligt at indsætte spam-teksten, men der kører ikke nogen forums eller andre scripts med mulige kendte exploits. Der kører kun et simpelt hjemmelavet CMS. Hvordan kan det overhovedet lade sig gøre, og hvor skal man starte med at kigge, hvis man vil undgå at det gentager sig?
Nu skrev jeg godt nok "simpelt CMS", men jeg tror nu alligevel, det er lige i overkanten at smide al koden herop ;)
@jakobdo Ja, der er steder, hvor jeg bruger variable fra GET og POST. Men hvordan kan det blive udnyttet til at skrive til filer - og så endda uden at kende kildekoden?
Okay, trækker mig for spørgsmålet. Fejlen ligger i dit script og det er noget lettere at finde fejlen når man kan kigge i koden og så meget kode kan der nu heller ikke være.
Vi skal ser kode omkring kode der behandler input herunder: Passwordbeskyttet adgang, save, edit osv. Det er jo ikke dit design og lignende vi skal se.
Mit spørgsmål er ikke: "Hvor i min kode er fejlen", men "Hvordan kan det overhovedet lade sig gøre, og hvor skal man starte med at kigge, hvis man vil undgå at det gentager sig?"
"Hvordan kan det overhovedet lade sig gøre" - I programming kan alt lade sig gøre. Og hvis du har en sikkerhedsfejl der tillader folk at redigere indholdet på dine sider, så er det jo derfor.
", og hvor skal man starte med at kigge" - I koden... men VI HAR JO INGEN IDE OM HVILKEN KODEN DU HAR. Men "der" er nok en rimelig præcis angivelse. Sandsyneligvis har du nok ikke eet hul, men et hul for hver 100 linjers kode.
", hvis man vil undgå at det gentager sig?" - Lade være med at bruge downloaded scripts, og lære at koden noget ordenligt selv.
Ja, umiddelbart ville jeg selvfølgelig sværge, at der ikke var et så åbent hul, men jeg har lige grep'et igennem koden på "include" for en sikkerheds skyld, og nogle steder har jeg brugt en path fra en variabel, fx: include $cms_path."filnavn.inc.php"; Og jeg opdager nu, at denne variabel ikke altid er sat, og derved i praksis kan sættes via GET (ja, register_globals er on - koden er fra dengang det stadig var udbredt).
Så langt, så godt, men: 1) Jeg undrer mig, hvis det kan udnyttes uden at kende kildekoden. 2) Der er ingen GET i webserver-loggen med denne variabel. Faktisk er der ingen mistænkelige linier i loggen omkring det tidspunkt, filen blev cracket.
Nå, men eet hul er elimineret så tak for tippet :)
Nej, der er ikke TNGForum installeret, selvom det var et godt bud. Der er heller noget andet udbredt php-software installeret - desværre, for ellers var det lidt nemmere at fejlsøge.
Jeg tror nu lige, at jeg hiver fat i udbyderen igen, da jeg efterhånden undrer mig en del over at et angreb via mine php-filer ikke viser sig i access-log.
Har du adgang til accesslog? Din kode minder utroligt meget om det kode som er fejlen i sidste link jeg postede.
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.