Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Browse files
Browse the repository at this point in the history
Unfortunately, the flawed conclusions people are reaching because of this flawed tool are all over the place, including some spamming results from this pointless tools in uBO's own thread on Wilders Security despite advises to refrain from using the tool to evaluate content blockers.
- Loading branch information
cf9f577
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@gorhill Should we add
@@*$redirect-rule,domain=d3ward.github.io
to that site too?cf9f577
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
AG once locked down as well and the author came over there to complain: AdguardTeam/AdguardFilters#140769
cf9f577
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@gorhill I think this does a good job of informing the users to consider the test results with caution, something which the site itself fails to do:
cf9f577
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Current filters are fine, the goal is to get 100% to stop the misinformation spreading out there. If those filters break the site, it's still far less problematic from uBO's perspective than the site spreading flawed assessment of uBO. The filter AdGuard added acts strictly on that one site to address the flawed results, and yet the author of the site apparently still think its tests are valid. He is essentially asking filter list maintainers to create filters specific for his tool, which make it clear the tool is flawed and pointless, yet he persists.
@MasterKia Now the site shows 100%, this is what people who don't know better (majority) want to see, they don't care about technical warning, there is already one and making it more verbose won't help.
cf9f577
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@gorhill Recently I have added
to address generic anti-adb using
fetch
HEADuAssets/filters/filters-2023.txt
Line 3895 in 264318c
This makes the test can't reach 100%. Should we change the filter to site-specific, or exclude redirect on this site?
cf9f577
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I tried your filter and I still get 100%.
Ok I see, results are different in Firefox, it does appear
@@*$redirect-rule,domain=d3ward.github.io
is necessary.This comment was marked as resolved.
Sorry, something went wrong.
cf9f577
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Added for the sake of Firefox.
cf9f577
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
In Firefox
xhr
can't be redirected.cf9f577
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Oh really? It means our XHR redirecting filters does not work on firefox?
cf9f577
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
They are redirected using
data:
URI.cf9f577
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
See the third result in:
uBlockOrigin/uBlock-issues#2526 (comment)
cf9f577
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks like it depends on site's CORS policy? I don't see those errors / warnings on this site.
cf9f577
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
For some reasons, Chromium can deal with redirecting to
data:
URI, but Firefox fails with the same.Entering the following at the console:
Shows that it goes redirecting to
data:...
URI through fine in Chromium, but not in Firefox.You can see the result of redirecting to
data:
URI:In Chromium, I see the content of
adsbygoogle
surrogate.All redirects for
xhr
always fallback on usingdata:
URI as redirect URL, this is to avoid leaking extension URL, which on Firefox is unique and could be used to fingerprint.cf9f577
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
For example, if I redirect a
xhr
normally using an extension URL, I get the following result:Not ideal as this allows a site to easily detect that uBO specifically redirected the network request, hence why
data:
URIs are used in case ofxhr
.cf9f577
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Does it work on Firefox too?
cf9f577
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yes it does, but see what sites can see:
moz-extension://...
is unique to every installation, so it's even worse for Firefox, hence even more justified to redirect todata:
URI.There are issues in somewhere bugzilla regarding leaking extension id and also redirecting to
data:
URI.cf9f577
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
So the issue here is the same as uBlockOrigin/uBlock-issues#235 or gorhill/uBlock#2823 but for redirects?
cf9f577
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It's not a CSP thing, it's a Firefox-specific issue regarding redirecting to
data:
URI. I would have to find the bugzilla entry which explains it.cf9f577
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Incidentally, I see that on Chromium, AdGuard does not redirect to a
data:
URI, thus leaking the extension id as per cf9f577#commitcomment-124370102. The same fails in Firefox though, but in a different way than with uBO, the error message does not complain aboutdata:
URI.cf9f577
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Also incidentally, when using uBO Lite, the redirect leaks the unique extension id, so this is something that will have to be addressed by Firefox's DNR implementation.
cf9f577
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I got curious about this and it's because it's simply blocked with no redirection in Firefox. When I add the following filter in AdGuard:
I get leaked unique extension id as a result:
So it looks like AdGuard is disregarding leaking the unique extension id.
cf9f577
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
So for Firefox the options are:
Redirect using a
data:
URI: might sometimes fail, but does not leak the extension unique idRedirect without using a
data:
URI: always works, but leaks the extension unique idIf the extension id was not unique, it wouldn't have been that bad to leak[*]. But it is unique for every user...
* The site can already know the request is redirected, probably by a content blocker.
cf9f577
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Related bugzilla issue regarding redirecting to
data:
URI: https://bugzilla.mozilla.org/show_bug.cgi?id=1645683And the leak issue via fetch(): https://bugzilla.mozilla.org/show_bug.cgi?id=1405971
cf9f577
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actually even if Firefox ID is not unique (like chromium), it's not a good idea to leak the ID this easy. Because currently, it's already quite complicated for the websites on chromium to detect if uBO is installed on users' machines thanks to uBO's secret token for web accessible resources. If we ignore the ID-leak issue, the whole point of the token implementation is defeated.
cf9f577
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think this PoC isn't that complicated:
uBlockOrigin/uBlock-issues#1572
cf9f577
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It does not always work. I tested that website for a few times, sometimes it works, but sometimes it does not: https://github.com/uBlockOrigin/uAssets/assets/66517106/a0fb55a7-a791-4612-8ef3-ddc5bbb85a84
cf9f577
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
But anyway, so does the error throw at every site when redirecting, or does it work on some sites, and not on some others?
cf9f577
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Hmmm... When I add
no-cors
tomode
, I don't see the error?
cf9f577
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I get an empty string though as a result, not the content of the resource, i.e. with
*$3p,xhr,redirect=googlesyndication_adsbygoogle.js
I get an empty string in Firefox when using{mode:'no-cors'}
even though thefetch()
no longer throws.cf9f577
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
So for the site like this:
https://ozulmanga.com/
with this kind offetch
redirect-rule
still solves anti-adb on Firefox, don't know why.cf9f577
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The leak issue also got reported to Adguard already AdguardTeam/AdguardBrowserExtension#2278