Website slettet af Google spider!
Jeg faldt over en historie i dag, der viser hvor omhyggelig man skal være med sikkerheden i sit Content Management System ([tag]CMS[/tag]). Kort fortalt handler det om et stort statsligt website i USA, som skiftede til et nyt, specialbygget, [tag]Content Management System[/tag]. De første par dage gik alting fint, men lige pludselig forsvandt alt indholdet – slettet! Da de undersøgte sagen nærmere fandt de ud af, at IP adressen på den bruger der havde været inde og slette det hele ikke, som forventet, kom fra en eller anden hacker, men var assignet til [tag]Googlebot[/tag] – Google’s spider. Oops!
Efter nærmere undersøgelser fandt de frem til hvad der faktisk var sket …
Det viste sig at en bruger af systemet (en editor) havde kopieret informationer fra en side til en anden – og ved en fejl inkluderet et link til EDIT-siden. Normalt ville dette vo ikke være noget problem, fordi det kræver brugernavn og password at komme ind i redigeringen, men dette Content Management System havde åbenbart ikke taget højde for Googles særlige “hacker egenskaber” 🙂
Systemet var konstrueret på en sådan måde, at der blev tjekket for en cookie – isLoggedOn. Googles spider understøtter ikke cookies, så dette tjek røg de lige igennem. [tag]JavaScript[/tag] ville så normalt redirecte brugere hen til den almindelige side – altså ikke redigeringssiden under administrationen, men da Google heller ikke understøtter JavaScript røg de direkte ind i administrationen. Herfra “klikker” Google’s spider naturligvis på alle de links den kan finde – inkl. DELETE links. Så efter nogle få minutters crawling rundt i administrationen havde Googlebot slettet alle siderne!
Ham der havde undersøgt sagen, præsenterede herefter sagens kærne for websitets ledelse – altså, at deres sikkerhed kunne omgås blot ved at disable cookies og Javascript. Ledelsen mente dog ikke at det var noget problem og valgte i stedet for bare, at fortælle deres redaktører at de aldrig må kopiere EDIT-links ud på de rigtige offentlige sider.
Spørgsmålet er så bare, hvornår de næste gang bliver “hacket” – og af hvem?
Adressen på dette website? jeg kender den ikke – og selv hvis jeg gjorde ville jeg (nok) ikke give dig den her. Så ond er jeg trods alt ikke 🙂
Morten Blinksbjerg Nielsen skriver
Det er meget typisk at folk laver CMS’er hvor man kan ændre ting ved at lave GET-request. Også selvom at RFC2616 tydeligt skriver at GET kun er til at hente date, hvorimod hvis man skal lave ændringer som fx slette, så skal man lave POST-requests.
Der var også en episode for noget tid siden, hvor Googles webaccelerator slettede en masse sider. Jeg mener at det var på basecamp eller lignende … også et typisk eksempel på dårligt CMS.
Mikkel deMib Svendsen skriver
Helt enig. Det er noget forbandet sjusk. Og endnu mere grotesk er det så i denne sag, at ejerne af websitet ikke engang tager ved lærer af det og ændrer systemet. Jeg er glad for det er et Amerikansk statsligt website – og ikke et Dansk … for den slags kunne vel aldrig forekomme på et dansk offentligt website, vel? hehehe 🙂
Jonathan Holst skriver
@mbn: Det var lige præcis Basecamp der oplevede det. De gjorde så det, at de sendte en header som fik webaccelerator til at holde sig væk.
Denne feature fjernede Google dog i anden release, og basecamp fik igen slettet sider. Det var dog en fejl, og den kom igen, men det får en til at tænke over hvordan man bør bygge sine systemer op :).