Testing: Hack Twitter

Hari ini gw nyoba buat ngehack Twitter. Gw kepikiran buat bikin link yang bisa bikin orang yang ngeklik link itu otomatis ngetweet kalimat-kalimat yang udah kita tentuin sebelumnya. Yang gw manfaatin banget itu script dari salah satu halaman yang ada di Twitter, tepatnya dari URL ini:

https://twitter.com/intent/tweet

URL itu biasanya dipake di website-website untuk button ‘Tweet’, misalnya di Yahoo! News atau di Kompas.com. Buat yang mungkin nggak pernah merhatiin, button ‘Tweet’ itu bentuknya kayak begini.

Kalo button ‘Tweet’ itu diklik, nanti halaman yang URLnya gw kasih di atas itu bakal muncul & isi tweetnya udah otomatis digenerate dari website yang nyediain tombol itu. Misalnya kayak kalo link ini diklik:

Klik di sini

Kalo link di atas diklik, bakal muncul halaman Twitter yang text areanya udah diisi teks sesuai dengan isi variabel di URLnya. Yang kayak di atas itu gampang karena gw tinggal ngubah variabel di URLnya doang, tapi bakal jadi susah buat ngontrol account orang buat otomatis ngetweet sesuatu karena di situ kita harus nekan tombol ‘Tweet’ dulu baru isi dari text area itu tadi ditweet. Gw nggak bisa nyelipin JavaScript di Twitter, jadi gw view source dari halaman itu tadi, lalu gw copas semuanya & gw pindahin ke website yang gw hosting sendiri biar gw bisa tambahin JavaScript biar halaman itu bisa otomatis submit form. Gw tambahin script ini.

<script>
    document.forms["update-form"].submit();
</script>

Halamannya sendiri gw taruh di sini, dengan sedikit perubahan dari source HTML yang tadi gw copy & ditambah sedikit kode PHP biar teks yang mau diinput bisa diset dari URL. Jadinya begini (JavaScript yang di atas gw matiin biar bisa keliatan):

http://twistedcablestestingground.freehosting.com/autotweet/index.php?text=tes%20script

Habis gw coba-coba testing di account Twitter gw sendiri, rasanya sih udah sukses. Jadi gw lanjutin ke langkah selanjutnya, gw minta temen gw yang ngeklik itu biar account Twitternya bisa gw suruh ngetweet kalimat-kalimat yang gw mau, tapi ternyata nggak bisa. Keluar pesan error ‘Forbidden’ kalo gw kasih link itu ke orang lain. Gw juga nggak bisa ngontrol account gw sendiri pas gw coba login pake browser lain (gw tadi pake Chrome) & ngebuka halaman itu, & nggak bisa lagi habis gw logout lalu login lagi di Chrome.

Kenapa nggak bisa? Twitter punya fitur security yang namanya authenticity token, & buat bisa ngetweet itu user yang lagi pake Twitter harus ngirim token yang ada di cookienya buat disamain dengan token sessionnya yang ada di server. Kalo cocok, user itu baru bisa ngetweet. Token ini sendiri sih disimpen di cookie browser, yang kalo gw nggak salah harusnya bisa diambil pake variabel $_COOKIE[‘auth_token’] di PHP. Tapi cookienya cuma bisa diakses website yang dari domain twitter.com aja, nggak sembarang website bisa ngakses cookie itu. Karena domain website gw tadi bukan twitter.com, jadinya gw nggak bisa ngakses cookienya.

Jadinya hack ini gagal, masih ada yang kurang buat ngedapetin authenticity token Twitter di kodenya. Gw mungkin bisa ngambil cookie itu kalo aja gw nemu bug di browser (gak tau browser apa) yang memungkinkan buat gw ngakses cookie yang seharusnya nggak boleh gw akses & gw bisa ngehack kalo user yang bersangkutan pake browser itu buat login Twitter. Bisa juga gw hack kalo nantinya gw bisa ngespoof domain name yang dikirim servernya tanpa ketahuan browser. Yah, kira-kira begitu dah hasilnya dari yang gw coba-coba tadi. Ada yang berminat ngelanjutin, mungkin?

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s