10 augusti 2007

Säkerhetslucka, bug eller feature?

Trycker man på den här länken så kommer man till ett enkelt bildmontage jag har gjort åt Hedgehog-Saras lilla vovve, Tippex. Det anmärkningsvärda är att länken går till en bild i ett ickepublicerat inlägg på den här bloggen.

Jag sprang på fenomenet efter att ha gjort ett par andra Tippex-bilder (exempel) och använt den här bloggen som "anslagstavla". (Flickr och andra bildtjänster jag har tittat på är överarbetade och svårnavigerade. De passar helt enkelt inte. Vare sig mitt sinne eller mitt lynne)

Men jag ville bli av med pynten i form av rubrik, länkar och annat som inramar bilden om jag gör ett inlägg av den, så jag skapade helt enkelt ett utkast med ett enda innehåll: En uppladdad bild. Sen gick jag över till HTML-visning och grävde fram länken ur Blogger-gröten:

<a href="http://bp2.blogger.com/_uTOTLVt6I_c/Rro8gNtWtAI/AAAAAAAAAG4/oH1VsBRP50k/s1600-h/Helga_Tippex2.jpg"><img id="BLOGGER_PHOTO_ID_5096452452456510466" style="DISPLAY: block; MARGIN: 0px auto 10px; CURSOR: hand; TEXT-ALIGN: center" alt="" src="http://bp2.blogger.com/_uTOTLVt6I_c/Rro8gNtWtAI/AAAAAAAAAG4/oH1VsBRP50k/s400/Helga_Tippex2.jpg" border="0" /></a>

Det är det rödmarkerade som är länken till själva bilden. Den klistrade jag in i en kommentar på Saras blogg, och det funkade. Bilden och inget annat kom fram när man klickade på den.

Först efteråt insåg jag att det inte borde funka. Inlägget var ju inte publicerat. Var jag utloggad från Blogger? Visst. Dessutom kommenterade Sara bilden, och hon har knappast tillgång till mina inloggningsuppgifter på Blogger.

Det intressanta är att vare sig mitt Blogger-ID, 26648990, eller utkastets ID, 26648990&postID=7572229222029545787, finns med i strängarna ovan.

Bilderna i blogger ligger på en annan server
Tar man upp ett publicerat inlägg i Bloggers redigerare, så får man vad inlägget egentligen heter. Så blir t.ex http://hennestestblogg.blogspot.com/2007/07/mctippex.html
det här i redigeraren: http://www2.blogger.com/post-edit.g?blogID=26648990&postID=4853268699064637520 (Här får ni lita på mig. Man måstse vara inloggad för att se det)

Bilden i inlägget har samma adress i bägge fallen: http://bp3.blogger.com/_uTOTLVt6I_c/RqcoINtWs9I/AAAAAAAAAGc/HDM8Ce6ZhwM/s1600-h/McTippex.jpg

Olika servrar för blogginlägg och bilder, alltså. Inte överraskande när man så ofta ser bilderna komma in "efteråt" när man läser in ett Blogger-inlägg.

Slutsats
Bildserverns innehåll är inte skyddat på samma vis som själva bloggen. Man kommer åt alla Blogger-bilder utan lösenord. Pinsamt, på min ära. Men det finns iaf ett annat skydd i Bloggers bildhantering: Namnsättningen

Det finns likheter mellan söksträngarna till McTippex-bilden och den opublicerade bilden. _uTOTLVt6I_c, till exempel. Är det min blogg som databasen ser den? I övrigt är det hexkod och den enda slutsats jag kan dra är att bilderna på en blogg inte sekvensnumreras. McTippex-bilden borde nämligen i så fall ha en hexkod som skiljer sig ett snäpp från den opublicerade, och det har den ju inte.

Det betyder att man inte utan vidare kan bläddra igenom bildmaterialet till en blogg genom att skifta slutsiffra i länken.

Det betyder också att jag har hittat en "glitch", eller möjligen en dold feature snarare än en säkerhetslucka. Men det är klart, en duktig skriptmänniska kan nog lätt få ihop en "dammsugare" som hittar icke-publicerade bilder på Bloggers bildservrar.

Efterord
Jag har alldeles för mycket tid över, men så är jag också sjukskriven. Men mitt knep att länka från opublicerat material om man vill slippa Flickr och ordinarie sidlayout är jag nog lite stolt över ;-)