21. april 2005 - 20:14Der er
26 kommentarer og 1 løsning
Slettede bruger på min side
Hej med jer!
Jeg troede at jeg havde lavet en sikker side. Skiftede fra COOKIES til SESSIONs.
Her i dag, har jeg så fået omkring 25 mails, hvor brugerne på siden har fået slettet deres brugere.
Jeg er SIKKER på at det ikke er dem som arbejder på siden, så jeg vil gerne have jer eksperter til at undersøge om jeg evt. har lavet et hul :(
www.mopedmanager.dk er adressen. Jeg ved godt at den ikke er sikker for XSS, men kan man via det nemt slette brugere? Og evt. hvordan sikrer jeg mig for den slags hvis det er tilfældet?
jeg kan se at "hackeren" har brugt sidens slette-funktion. Fordi jeg har tjekket databasen, og der er blevet slettet noget andet som denne funktion gør.
Du har ikke en fil der hedder noget lignende "slet_bruger.php" der tager et id som parameter og direkte sletter brugeren uden at tjekke om admin rettigheder er der vel ?
ehm, hvis du vil må du godt smide det stykke op her, så tror jeg godt nogle af eksperterne her ville kunne gå ind og finde den lige med det samme, men selvfølgelig kan jeg godt følge dig, hvis du er bange for at 'offentliggøre' fejlen. ved jeg ikke...ehm...ja
} else if ($_GET[action] == 'slet') { mysql_query("DELETE FROM m_brugere WHERE id = '$_SESSION[id]'"); mysql_query("DELETE FROM m_udfordringer WHERE bruger = '$_SESSION[id]' || modstander = '$_SESSION[id]'"); mysql_query("DELETE FROM m_rapport WHERE bruger = '$_SESSION[id]' || modstander = '$_SESSION[id]'"); mysql_query("DELETE FROM m_scootere WHERE bruger = '$_SESSION[id]'");
echo "<b>Slettet!</b><br><br>Din bruger er blevet slettet - Du bliver automatisk logget ud...<br><br>"; echo "<META HTTP-EQUIV='Refresh' CONTENT='2;URL=../logud.php'>";
men ellers, så tænkte jeg på. Jeg kan se man skal være logget ind for at slette, så læg en lille variabel ind der ser hvem der sletter accounten. Altså hvem man er logget ind som. Og hvis det ikke virker, så prøv den med IP'er...dette vil være mere besværligt, men sammenlign IP'er. Altså hvis du nu ser det er den samme IP der bliver ved med at slette forskellige brugere, så ser du hvem der logger ind med denne IP og så HAPS!.
Et sloppy upload-script kan meget vel være kilden. Er stien til en fil med dine MySQL-informationer blevet blotlagt ved en eller anden fejl, er det jo let at lave et dokument, der kan inkludere disse info og eksekvere en hulens bunke skidt, når dokumentet kaldes efter upload. Checker du ikke *alle* bruger-input - herunder fil-uploads - yderst grundigt, blotter du dit site og din DB.
En yderligere detalje er, at Google jo også cache'er fejl, når disse opstår på sider, den er ved at indeksere. Der ligger tonsvis af god information på Google, hvis man har onde hensigter - og der findes endda programmer specielt til at søge efter den slags sårbarheder via Googles eget API :)
PS: Det skal lige siges, at jeg ikke fandt cache'de sårbarheder på Google ved en sådan scan. Den var godt nok ikke for alvor dybdegående - men du har i hvert fald ikke nogen oplagte sårbarheder den vej rundt ;o)
Men som opretter er gjort opmærksom på, så er sitet sårbar overfor xss angreb. Så session ids kan stjæles i stor stil. Men det forklarer heller ikke det med abuse
Tror desværre at vi har haft en "dygtig" hacker inde på siden. Han har sikkert brugt XSS, for på en eller anden måde har han selv kunnet lave sine egne SESSION's.
Jeg fik bare at vide i det andet topic at SESSION var stortset sikre hvad angår egen oprettelse (fake sessions). - Men jeg blev klogere :(
Han har fundet frem til id på forskellige brugere og har den vej slettet deres bruger, og som prikken over i'et - Så fandt han også id på en admin og har nu slettet alt stortset!
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.