Friendster “Hacking”

February 2, 2008

Barusan saya iseng memasukkan keyword “frienster password hacking” di google. Dan saya clicked website paling atas. Benar saja dia nyedian source code java buat ngehack FS dengan metode Brute Force (mencoba semua kombinasi). Si penulis berani mengklaim : ” I was really suprised at how well this works, to tell you the truth.”. Tapi saya heran, apa mungkin Bruto Force bisa se-powerful itu? Seandainya passwordnya terdiri dari 8 karakter alphanumeric, berarti ada 61^8 (191707312997281) kemungkinan.

Seandainya komputer kita ekstrimnya bisa mencoba 1000 kombinasi per detik. Berarti butuh 191707312997281/1000/60/60/24 = 2218835 hari = 6079 tahun.

Ah itu kan kalo cuma 1000 kombinasi per detik. Bagaimana kalo 100000 trial perdetik? Untuk kasus itu, masih butuh waktu 6.079 tahun! Benar2 impractical kan!

Nah yang lebih lucu adalah source codenya :

import java.util.*;
import java.net.*;

public class FriendsterPasswordHack {
	String name;
	String password;
	HttpConnection conn;
	ArrayList passwordHintWords;

	public FriendsterPasswordHack(String userName) {
		name = userName;
		passwordHintWords = new ArrayList();
	}

	public void doLoginAttempt() {
		conn = new HttpConnection();
		conn.setArg("name", name);
		conn.setArt("password", password);
		conn.open("http://www.friendster.com/login.php");
	}

	public void tryNextPassword() {
		passwordHints.removeLast();
	}

	public void collectPasswordHints() {
		String str = conn.getPage("friends.php");
		StringTokenizer st = new StringTokenizer(" ");
		while (st.hasMoreTokens()) {
			passwordHints.add(st.nextToken());
		}
	}

	public void go() {
		new Thread(this).start();
	}

	public static void main(String[] args) {
		FriendsterPasswordHack fph = new FriensterPasswordHack(args[0]);
		fph.go();
		fph.fuck();
		fph.yourSelf();
	}
}

Hahaha si penulis emang dari awal berniat bercanda

Yang menarik adalah hanya 6 dari 24 penulis comment yang menyadari lelucon ini!