Continuing on my mission to bore the crap out of my readers, I took a look at the html local storage databases I discovered in Part One.
What is HTML Local Storage?
With local storage, web applications can store data locally within the user's browser.
Before HTML5, application data had to be stored in cookies, included in every server request. Local storage is more secure, and large amounts of data can be stored locally, without affecting website performance. Unlike cookies, the storage limit is far larger (at least 5MB) and information is never transferred to the server. Local storage is per origin (per domain and protocol). All pages, from one origin, can store and access the same data.
If this is a foreign concept to you, try it out:
Pretty simple stuff. If you browsed this from Chrome you should now have a https_jon.glass_0.localstorage in your local storage directory.
On my Windows 7 VM the Chrome Local Storage files are located here: C:\Users\UserName\AppData\Local\Google\Chrome\User Data\Default\Local Storage
Here is a look at a few of mine:
It is worthy to mention there are a few investigative points you can glean from just this directory listing:
The protocol of the site (http/https).
The last modified date and time of the local storage file
Let's look at my local storage entry from a few angles.
First lets checkout Chrome's developer tools > Resources > Local Storage:
Here is a shot of what it looks like in the ol' SQLITE Browser:
Here is some Python that will read it too:
I have looked at a bunch of these and the format is mostly developers choice. It is interesting to see how they are leveraged. For example, Wikipedia's local storage is so big, comparatively, because they are storing Base64 encoded images in the SQLite database.
Kinda makes you wonder about what is hiding in YOUR local storage.
Well that is all for now...