Firefox 2 heeft een security feature die je beschermt tegen het invullen van vertrouwelijke informatie op phishing websites of dat je geinfecteerd raakt met malware op een website die hemel en aarde beloofd.
De bescherming werkt door het website adres (de URL) te vergelijken met een zogenaamde blacklist. De blacklist wordt onderhouden door de aardige jongens en meisjes van Google, zij zorgen ervoor dat de lijst regelmatig wordt bijgewerkt en firefox download automatisch de nieuwe versies.

Nieuwsgierig van aard (tenminste op computergebied) wilde ik weten welke websites in dee blacklist stonden, dus ik ging op zoek in de .mozilla/firefox/… directory waar alle gebruikersinstellingen voor firefox zijn opgeslagen. De blacklist zelf is makkelijk te herkennen aan zijn naam: urlclassifier2.sqlite en de extensie verraadt welke methode wordt gebruikt om de “boze” websites op te slaan: sqlite.


SQLite is een database programma, maar teruggebracht naar zijn eenvoudigste vorm. Het is niet nodig om een database engine te draaien en permissies in te stellen, enz. De complete database wordt nl. direct opgeslagen in een enkel bestand. Dus dit is het KIS principe tot het maximale doorgevoerd en het werkt prima zolang de database maar niet te groot of te complex wordt.

Wat er nodig is om in het bestand te kijken is het opstarten van sqlite met het bestand als argument:

$ sqlite3  urlclassifier2.sqlite
SQLite version 3.4.2
Enter ".help" for instructions
sqlite> .tables
goog_black_enchash  goog_black_url      goog_white_domain   goog_white_url

De structuur ziet er simpel genoeg uit, de slechte website zijn waarschijnlijk in: goog_blac_url

qlite> select * from goog_black_url LIMIT 3;
uggc://ybtva.zlfcnpr.psz.shfrnpgvba.hfre.fcynfu.ubzr.zlgbxra.76701n2644n8605.pn0qpor.pbz/vaqrk.cuc|c
uggc://ealfcnprv.pbz/vaqrk.pszshfrnpgvba=ybtva.cebprff&ZlGbxra-wrrqk4r1ssn-s3kg3k2ns0-4r3-sfs3n421-s7goskks3ks231.ugz|c
uggc://eeaelfcnpr.pbz/vaqrk.psz-shfrnpgvba657Qybtva.cebprff8526ZlGbxraf79843964886883084155.ugz|c
sqlite> .quit

Het blijkt dat de website adressen zijn “versleuteld” met het aloude ROT13 mechanisme. De reden hiervoor is dat antivirus software op de PC van de gebruiker dit bestand als kwaadaardig zou kunnen bestempelen.

We hebben dus een ROT13 decoder nodig, dit kan eenvoudig met het unix utility tr en de complete constructie past vervolgens mooi in een oneliner:

echo "SELECT * FROM goog_black_url LIMIT 3;" | sqlite3 \
urlclassifier2.sqlite | tr N-ZA-Mn-za-m A-Za-z

Dat genereert de volgende output:

http://login.myspace.cfm.fuseaction.user.splash.home.mytoken.76701a2644a8605.ca0dcbe.com/index.php|p
http://rnyspacei.com/index.cfmfuseaction=login.process&ZyGoken-jeedx4e1ffa-f3xt3x2af0-4e3-fsf3a421-f7tbfxxf3xf231.htm|p
http://rrnryspace.com/index.cfm-fuseaction657Qlogin.process8526ZyGokens79843964886883084155.htm|p

Als je dapper bent kan je een van de URL’s cut en pasten in firefox en als het goed werkt krijg je een POP-Up: “Take me away from here” ;)