Beberapa situs tidak ingin isi situsnya dibajak orang lain melakukan berbagai cara untuk menghindari pembajakan. Ada yang menggunakan javascript untuk men-disable klik kanan. Cara ini sangat mudah diatasi, cukup dengan mematikan javascript saja. Kali ini saya akan menunjukkan cara membongkar proteksi html guardian, yaitu software untuk mengenkrip html source agar tidak dicuri orang lain.
Javascript-based Encryption
Cara yang lebih baik adalah dengan menggunakan enkripsi. HTML Guardian (HG) adalah salah satu software yang populer untuk melindungi html dengan enkripsi. Html yang dilindungi dengan HG tidak bisa lagi dibaca dengan mata telanjang (view source). Halaman html yang tadinya rapi, mendadak menjadi kacau balau tak terbaca, penuh dengan kode javascript dan karakter string aneh.
Sebenarnya bagaimana cara kerja HG? Cara kerjanya sederhana. Ketika halaman yang telah dienkrip dengan HG di buka, maka kode javascript yang ada di dalamnya akan melakukan dekripsi menjadi kode html kembali. Kode html ini kemudian ditulis lagi ke browser. Kode html yang telah di-dekrip ini hanya tersimpan di memori browser, tidak di file, sehingga ketika orang mencari di kumpulan file cache tidak ditemukan. Dilihat dengan view source pun tidak akan terbaca.
Generated Source
Dari cara kerjanya, bisa kita ambil kesimpulan bahwa plain-text html nya sebenarnya tersedia, namun hanya beredar di memori browser. Jadi ketika javascript dijalankan, dia akan menghasilkan source, source ini lah yang disebut dengan Generated Source yang disimpan di memori browser.
Khusus pengguna Firefox, telah tersedia addon yang sangat ampuh, yaitu Web Developer. Dengan addon ini, dengan sekali klik saja kita bisa mendapatkan generated source yang tersimpan di memori browser.
Mari kita coba membongkar proteksi HG di halaman demonstrasi. Halaman ini memang khusus dibuat untuk menunjukkan fitur-fitur HG.
Bila kita view source halaman demo tersebut, maka yang kita dapatkan hanyalah kode html dan javascript. Semua konten htmlnya dimasukkan ke dalam kode javascript. Kode javascript untuk contoh demo tersebut adalah sebagai berikut:
Sangat kacau bukan source javascriptnya? Tidak perlu pusing-pusing, kita biarkan saja browser yang meng-eksekusi code tersebut. Nanti setelah eksekusi selesai, dengan menggunakan addon web developer, kita bisa melihat source hasil eksekusi javascript tersebut. Sebagian hasil dekripsinya (karena sangat panjang) terlihat sebagai berikut:
Client based protection doesn’t works. Walaupun source dibuat kacau balau seperti apapun, selama browser hanya mengerti html, harus dikembalikan ke bentuk yang dimengerti browser. Kita tidak perlu tahu mengerti javascript hasil scramble, cukup biarkan browser menjalankan tugasnya, dan kita hanya mau hasil akhirnya yang sudah rapi berbentuk html.
0 komentar:
Posting Komentar