![firefox hacking sites firefox hacking sites](https://www.linuxexperten.com/sites/default/files/styles/large/public/images/news/firefox.logo__7.jpg)
The detection of addons is quite quick and only takes a few seconds to complete.
#FIREFOX HACKING SITES PLUS#
In the same manor we could fingerprint which Adblock Plus list is being used.
![firefox hacking sites firefox hacking sites](http://blog.mozilla.org/hacks/files/2012/11/manifest_parse_error.png)
If the reference fails to load on a file that is perfectly valid, we know it is being blocked by Adblock Plus or some other anti advertisement addon. For example, despite the Adblock Plus addon not having a contentaccessible flag, it can be detected by attempting to make a script or image reference to a blocked domain. Although there are other methods of detecting the presence of Firefox addons. This means that out of all the addons, only about ~3.3% could be detected in this manor. By detectable resources I mean resources such as JavaScript, CSS, or images that could be embedded and detected. These path’s were then used to construct a JavaScript scanner that works by making references to these chrome URIs and checking if they are valid via the “onload” event.Īfter taking analytics on all of these addons it was found that only a mere ~400 had the proper contentaccessible flag combined with detectable resources. If the flag existed, the proper chrome URI was generated for each file in the content path. Each addon XPI was parsed for it’s “chrome.manifest” file for the “contentaccessible=yes” flag. In order to get a comprehensive list of which addons had set this “contentaccessible” flag to “yes”, I scraped ~12K addons from the Firefox Addons website. Oh well, let’s do it on a bigger scale! Gathering Firefox Addon Analytics When I was first investigating this behavior I thought I was original, but of course others have attempted this as well: Which means if the addon has any style-sheets, images, or JavaScript – it can be enumerated! Then the addon’s resources can be included just like any other web resource. To put it short, if the addon has a line like the following in it’s “chrome.manifest” file:Ĭontent packagename chrome/path/ contentaccessible=yes “Chrome resources can no longer be referenced from within , So, how do we know what addons this works for?
#FIREFOX HACKING SITES INSTALL#
Using the same tactic as above, we can enumerate the install of “Resurrect Pages” via the following: For example if you are using the “Resurrect Pages” addon, you can see the following image: The same trick can be used to identify some addons as well. (Interestingly enough, this doesn’t work on the Tor browser. Simply enough, if you get a JavaScript alert – you’re using Firefox! This can be done by doing something like the following: Identify any Firefox addons with special “chrome.manifest” settings (to be covered below) With a little bit of trickery we can use these local references to: Of course we can! Subverting Same Origin for Browser & Addon Identification That may be cool, but it does beg the question – can we abuse this? When the image is viewed in Chrome, Internet Explorer, or Safari, the reference doesn’t exist and the image link is broken.Īlright, how about a consolation prize – what about this image?
![firefox hacking sites firefox hacking sites](https://i.pinimg.com/originals/be/6f/41/be6f41721d77696c088a1b44e580f835.png)
It’s a reference to a local resource only found in Firefox flavored web browsers. This is because the image is actually a link to “about:logo”. For example, if you’re using the Firefox web browser, you know what the following image is:įor everyone else, the above image is broken. In a previous post I found that I could access local Firefox resources such as style-sheets, images, and other local content in any public web page. Dirty Browser Enumeration Tricks – Using chrome:// and about: to Detect Firefox & AddonsĪfter playing around with some of the cool Firefox Easter eggs I had an interesting thought about the internal chrome:// resources in the Firefox web browser.