I've put a lot of effort into building this site and keeping it running, and now someone in India is stealing it in real-time. Every page load to 4coin causes an identical page load in the nginx logs of http://altexplorer.net. What can I do besides blocking the source IP address to stop this?
Screen shots: Alt Explorer home page: https://d1eem2029tdth0.cloudfront.net/img/altexplorer-home.png
4coin home page: https://d1eem2029tdth0.cloudfront.net/img/4coin-home.png
Alt Explorer profitability page: https://d1eem2029tdth0.cloudfront.net/img/altexplorer-prof.png
4coin profitability page: https://d1eem2029tdth0.cloudfront.net/img/4coin-prof.png
Second idea: Javascript redirect all of your pages to your own subdomain. Again, its just a step in an arms race, but this would be a little too hard/expensive to take to court. You can win an arms race if you try.
If the query string is being passed through, which I suspect it is, you can use the query string to easily locate the corresponding entry in your own logs. Or, if the query string isn't being passed through, you can use a path instead:
You probably already thought of this technique. I decided to post it anyway in case you hadn't, or in case anyone else is facing a similar challenge.
A unique sequence of legitimate requests might be more difficult to for the other side to detect and it won't result in 404s. Could randomise the sequence and each can come from a different IP as long as they were synchronised properly.
(for now)
If you can't imagine what to do in this situation you shouldn't be running a website of this nature
This type of thing can (and does) happen and it's up to you to know how to defend yourself.
The others have given plenty of ideas, but I guess there are more specific things that can be done depending on their page structure/ads etc
You are an idiot.
If he launched the site, some technical knowledge he must have, however, to then not know (as in, to not have any idea) what to do seems strange.
Thanks for the offence, but it's not me who's hopeless about their website.
I guess trying to ask for advice and acting on that advice, all the while learning more and more about the potential attack vectors one should be aware of when dealing with these relatively new cryptocurrency services, is a shit idea.
BTW, love your intolerant handle. I guess you'd be bashing me then. Sorry my taste in music differs from yours, please don't "bash" me.
cowers in fear as the old, bitter hippie grabs his cane
The issue is not "Please advice me what to do", it is saying it in the spirit of someone who doesn't know how he got in the situation in the first place. For someone who builds a site like that, he should've know better.
"if(document.location.href!='http://altexplorer.net')document.location='//goatse.cx';">
<img src="x" onerror= "if(document.location.href==='http://4co.in')document.location='//goatse.cx';">
Maybe like this then?
also, report them to adsense and anyone else serving their ads.
Let them eat /dev/urandom to their heart's content.
No! You can't just give them purely random data. No, sir. That would be easy enough to detect.
What you need is plausible randomness. Shift the value of every transaction by a small percent. Trending everything downward over time, but making it plausible, would be far more entertaining with random upward trends. Best buy now before it gets too expensive! Oh, I'm sorry? That wasn't the actual price? Well, you'd best use a reputable source!
If you're going to poison the well, you don't want to be caught. You want them to wonder at what point their data set diverged and for how long they've been serving incorrect data. Sinister points for interspersing legitimate data with munged data.
The trick with being evil in this case is to be subtle about it. They want to scrape all your metrics? Let them. You just can't guarantee the accuracy of the data they're scraping, right? [wink, wink]
looking up the whois info, it says that the registrant's email was bgrf@ymail.com
When I put this email in google, I came across another spammy site called baklinks.blogspot.com. This site asks you to swap back links. At the bottom of the blog post, I found the name of the person "Naveen K R"
I then looked up google with "Naveen K R + bgrf". I was able to find a site he (probably) runs called www.zokali.com
More googling combos, I finally found his linkedin profile and his name "Naveen K Ramanand"
https://www.linkedin.com/in/krnaveen.
May be you can contact this guy directly. Seems like he is the one doing this or at least he knows who.
I started to earn money on 4co.in short links. It’s easy -
make the short links and earn the biggest money. http://4co.inBut an image search should help you find the image.
fragmede's comment below is [dead], but has very good advice.
---
Nice bit of news you added to the top, which 4co.in is putting on their own site.
One piece of advice though: Drop the short link and link directly to altexplorer.net, otherwise it looks like 4co.in was 'hacked' and the short link is a phishing/some other sort of scam and not legit.
You should be able to pickup the 4coi.in domain as the referrer if you want metrics for how many people were using 4co.in.
---
[0] > This won't work as it seems they're replacing any mention of "altexplorer" with "4coin"
Another thing to try is to see just how much data his server will take. See if you can send him a GB-sized response.
[1] http://www.netfilter.org/projects/patch-o-matic/pom-external...
Dan, I need to show that I'm over 18 on a couple of sites, and they want me to verify by entering a credit card number. But I pay everything in cash, so I don't have any credit cards. Could you email me your card #s, please?
Essentially, they trust the data you're providing and are trying to make a buck off that info. But if they lose that trust because they don't know whether the data is legit or not, you win!
I would also try to mask the fact that the data is not accurate, if they immediately see everything as simply zeroed out, it would be a huge red flag you're on to them. If you provide them ALMOST correct data, it would be harder for them to determine what's going on and their users will see realize the disparity and (hopefully) get burned and never come back.
Essentially, the trick is to destroy the site's credibility so there's no financial benefit to continue to steal from you.
Good Luck!
I'd also recommend only borking SOME of the data - an intermittent bug is harder to fix than a consistent one!
Luckily they are stripping out the ad tags before displaying by site so it shouldn't affect Ad Sense.
Have a page that spits the IP/hostname of referrer in a hidden section. Using that you can identify the IP/hostnames, so if he changes, you can always detect it.
Now that you can detect him, when he crawls your site, feed him garbage info for every single page, then constantly check his page for the hidden ip/hash in case he changes his IP/host. Hide that in a minified js. You can also feed his page bogus links that violates google's SEO so he can get blacklisted.
162.222.227.123 - - [14/Feb/2014:18:37:51 +0000] "GET /chain/42 HTTP/1.1" 200 76170 "-" "-" "162.222.227.123"
162.222.227.123 - - [14/Feb/2014:17:40:58 +0000] "GET /block/0e67dcf5f6797840a98061af7581138f2347feb168d78f7138d4268c6f854748 HTTP/1.1" 200 15719 "-" "-" "162.222.227.123"
162.222.227.123 - - [14/Feb/2014:18:38:21 +0000] "GET /tx/6c636ebff9674f4168b80b415f8a9097509802992b0422a4fa98c543da9c068e HTTP/1.1" 200 15898 "-" "-" "162.222.227.123"
162.222.227.123 - - [14/Feb/2014:17:41:05 +0000] "GET /address/GRjc357hnC7THEUPVJmpMmCjSAGn54CJnx HTTP/1.1" 200 14034 "-" "-" "162.222.227.123"
162.222.227.123 - - [14/Feb/2014:18:13:21 +0000] "GET /news HTTP/1.1" 200 16675 "-" "-" "162.222.227.123"
162.222.227.123 - - [14/Feb/2014:18:19:12 +0000] "GET /profitability HTTP/1.1" 200 188354 "-" "-" "162.222.227.123"
The difference is that copying doesn't take anything from the original author. Here, the original author is still hosting 4co.in.
<img src="x" onerror= "if(document.location.href==='http://4co.in')document.location='//xxxxxx.xxxx';">
So I say, go a step further:
- do not send his users to a black hole, instead show a banner warning them about the leech and then after a few seconds redirect the user to your website.
- The JS code for the above should go in the same JS file that provides core functionality to your website.
After done that, run your JS past http://closure-compiler.appspot.com/home or if you better still install the yuicompressor cli (http://yui.github.io/yuicompressor/) in your machine.
The resulting code will be minified/compressed and seriously obfuscated. So trying to defeat it will that the leech hours if not days depending on his experience.
- encode/obfuscate the warning string (1st topic) to make it harder to find within the JS code.
- and finally do a daily spot check on website following @jarrett comment below
Instead, make it annoyingly clear to anyone that visits 4co.in that the content is stolen. 4co.in users aren't visiting 4co.in to spite you. They just don't know and will gladly use your website instead.
The game of whack-a-mole is strongly in your favor because you're on the right side of a trapdoor.
Specifically, can we make him traffic multiply? I wonder what exactly is he doing with request headers... maybe this could work:
1) set up page /fluffy with wildly compressing contents, say 50MB of $£€$£€$£€$£€$£€.. always force gzip encoding 2) set up a few bots (amazon?) to download that page from his site, but do not accept any compression
Start the attack on some time the guy is probably sleeping, it might go on for a few hours before he notices, costing him a couple of hundred bucks in bandwidth.
Or maybe just some cpu waste in same vein: the guy has to open the gzip before forwarding to do string replace and re-zip it afterwards, so you can make sure that the content REALLY balloons..
This is how I got it resolved within a day:
I issued a DMCA takedown notice to their host and it was taken care of in a couple of days. I suggest doing the same.
"Hello, my name is <insert his name here once you are certain> and I've stolen the content that you are viewing right now -- someone's hard work. I stole it in a very intentional and fairly disrespecful way. Sometimes we get life lessons and this may well be one of mine. Instead of using my skills to do good with the precious time that I have in this beautiful world, I've chosen to write a fairly nefarious script to copy every single page of someone else's website and suck it back into my website, so that I can profit from someone else's work. The message you are reading right now may go away for a day or two, if I change my IP address. But rest assured, it will be back once my IP address is rediscovered. This event will also follow me forever on search engines when people search my name -- future employers, friends, family. I have been doing this for <x> days and have been asked to stop. I haven't yet, but time will tell.... (<insert-pretty-date-here>)
In the meantime, if you would like to visit the real website go <here>..."
You need to return bad data to his site by IP address and possibly user-agent. Don't make the data bad to mess with the users, just make it return unusable data, for example all numbers are zeros. Then what you do it make a scheduled task that scraps his website (using his domain name). If you start getting HTTP requests in your logs that correspond to the schedule job you created then you add the new requesting IP to the blacklist of funny data, then make a second request to his website validate the IP you blacklisted. You could setup your scrapping tool to use random tor exit nodes and cycle the user-agent info.
He could do the same (random ips) but might not... Really you need some type of accountability which you can never have on a public website but requiring registration/authentication would help some if it becomes that important to you.
edit - actually, don't do this as it is trivially easy to get around by doing 2 or 3 requests and keeping anything that hasn't changed.
Or if you do do this, add a low level noise filter on top so that the attacker can't just directly equate pixel values.
--- Site is down!
Sorry everyone! i really apologize for what happend!!
It all happend because of my silly mistake and misconfiguration and it was affected for at max 10hrs.
Instead of making a scene somebody would have contacted me!
Now i understand the risks of live development. It was not my intension to steal anything. ---