What might be shufflling my query string parameters constructed in JavaScript?

梦想的初衷 提交于 2019-12-02 21:58:12
M. Röder

As I already mentioned here Google Analytics Event Permutation there is a specific version (at least 1.0.37) of the Firefox add-on "Cliqz" having an anti-tracking-functionality built in.

Not much to analyze from this point, and since you're looking for hints; this is more like a long comment rather than an answer.

A malware on the client browser (or machine) or on your web-server; or an unknown crawler could be causing this, which is unlikely. To me, it seems your application is being attacked.

Let's see;

  • The real example (in the comments), shows that 128-bit hexadecimal access keys are being shuffled. (values of accessKey param)
  • Only values get shuffled and not keys.
  • You say, requests are coming from specific users.
  • You say, requests are coming from specific browser clients (Firefox and Safari).

What to check/do;

  • Check if your logging system works properly. If you're using a third-party, configurable logger, this could mess things up. (example)
  • Reproduce: Take the same exact set of parameters; use the same version of browser(s) and see if the results are the same. If so, it could be a browser-version issue, which is highly unlikely.
  • Check if there are other Firefox and Safari users (with same versions) that do NOT experience this.
  • Since you say it's only a small percentage of the requests, check if corresponding requests are made right after another. (Same kind requests in less than a second?)
  • Try tracing the source of the requests. Are they coming from a source you suspect? Can you relate information from different requests to each other? Multiple IPs form a subnet? Same IP using different accounts? Same account using different IPs in a short period of time?
  • There are tools such as apache-scalp, mod_sec, lorg to check/analyze big log files to extract possible attacks.
  • You can also use some of the techniques mentioned here to manually spot or block suspicious requests.
tomas

I am Tomas and I am a Software Engineer at CLIQZ.

We are a German Startup who are integrating search and innovative privacy features into browsers. This is indeed a result of our Anti Tracking feature. A similar question was also asked on reddit and in another question on stackoverflow. It was already answered in both posts, so I will just quote the same answer here:

CLIQZ Anti Tracking is not designed to block tracking in general, but rather only the tracking of individual users — which we consider a violation of our users’ privacy, and therefore inappropriate. Unlike other anti-tracking systems, ours doesn’t block the signals completely; thus, website owners are able to get data for legitimate uses, such as counting visits.

To prevent the identification of users (e.g. by using JavaScript hashes), CLIQZ Anti Tracking does in fact permute strings. . Whenever a new tracker shows up in our data, our system initially treats it as a user-identifying tracker and changes the string to preventively protect our users. Our system uses so called k-anonymity techniques. If it sees the same string for an event with multiple users showing up independently over the course of several days, it puts it on a whitelist of legitimate, non-identifying trackers. Once a tracker is whitelisted, it remains unmodified and website-owners see the original string. In other words, CLIQZ Anti Tracking limits the functionality of legitimate trackers only temporarily. As soon as it becomes clear that a tracker doesn’t violate our user’s privacy, everything works as usual. Privacy is extremely important to us and we believe this technology is necessary to protect our users from snooping.

I hope this helps.

It seems highly unlikely to me that this behaviour has roots in either your or the query-string code. Given that query string values can be freely altered, I suspect this is what is occurring - bare in mind that this is 0.2% of your requests.

There are a couple of things I would check. Are you aware of whether these requests are referred from other websites, your own website, or made directly? Are you aware of whether any of the source IPs correspond to known bots or web crawlers? Are the requests from a variety of sources or a small subset of repeated visitors?

It is possible that a bot or web crawler is "lightly probing your site" or testing for duplicate pages or misleading parameters.

Some robot crawls your site, it is quite normal. If you don't want him to load your server, block the request IP.

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!