Programming Projects

NetCentral User Keycode Crack

NetCentral.com logoNetCentral was a popular web chatroom circa late nineties. It was one of the first popular web chatrooms, but was eventually closed in 1999.

While using NetCentral I had noticed that it passed my encrypted authentication token value in my URL to validate my handle per HTTP request. This authentication method was an extremely bad idea for security, but back then bad ideas were common.

Once, someone “hijacked” my handle when I unknowingly clicked a link that sent them my full URL (with my authentication value). Not knowing their technique was a simple and mindless URL hijack, I wrongly thought that they had somehow broken NetCentral’s handle encryption mathematically. This made me see the encryption as breakable, and it sent me on a mission to break this encryption myself mathematically.

And I did it.

/* Program to calculate the user id code for the NetCentral
 *    chatrooms based on the actual user's handle.
 *        - Steve "WarAxe" Mooradian - 9/20/98
 */

#include<iostream.h>
#include<string.h>

void main(void)
{
	char handle[20];
	int id, handle_length;

	cout << "Input handle:";
	cin >> handle;

	handle_length = strlen(handle);

	for(int i=0;i<handle_length;i++)
	{
		if(handle[i]>=97)
			handle[i] -= 32;
		id += handle[i] * 33 * (i+1);
	}
	cout << "ID number is " << id << "\n";
}

I wrote the little routine above to calculate the authentication token for any chat handle desired… even ones that weren’t registered with the website! The authentication token is calculated by multiplying the first handle character’s uppercase ASCII value by 33, the next character by 66, and so on, and then summing the values. For example, a handle of “Axe” would have a token value calculated as follows: (A=65)*33 + (X=88)*66 + (E=69)*99.

Languages: C++

Coding tools: Notepad

Required supporting installs:
gcc compiler

BTW, after breaking their encryption I informed NetCentral, but they were already going to shut down the chatroom soon so they didn’t really care.