Академический Документы
Профессиональный Документы
Культура Документы
standar apa yang mengatur proses bagi-pakai itu? Bagaimana pula standar tersebut bekerja?
Setiap platform sistem operasi komputer punya standar yang berbeda-beda dalam
implementasi jaringan komputernya. Standar komunikasi antarkomputer ini disebut dengan
protokol. Platform Unix, Linux, dan Sun Solaris menggunakan protokol jaringan NFS (Network
File Sharing), platform Novell Netware memakai protokol jaringan IPX, sedangkan Microsoft
Windows protokol jaringan NetBIOS (Network Basic Input-Output System).
Di luar masing-masing protokol jaringan yang diterapkan oleh berbagai sistem operasi, ada
satu protokol komunikasi jaringan dan internet yang sifatnya global, yaitu TCP/IP
(Transmission Control Protocol/Internet Protocol). Umumnya, beberapa mekanisme kerja dan
spesifikasi pada TCP/IP diadopsi oleh protokol jaringan milik suatu sistem operasi.
Ya, begitulah sekilas tentang perbedaan protokol jaringan masing-masing sistem operasi.
Sekarang, giliran kita membahas pemahaman tentng carakerja protokol NetBIOS.
Di Dalam NetBIOS
NetBIOS bekerja berdasrkan nama khas yang
diberikan pada masing-masing komputer dalam
jaringan lokal. Nama khas tersebut diberi istilah
NetBIOS name, dan ditetapkan pada saat instalasi
sistem operasi.
Jika diperlukan, NetBIOS name bisa diubah dengan
cara mengakses [Control Panel] – [System] –
[Computer Name], lalu klik [Change]. Segera
setelah Anda melakukan perubahan, komputer akan
melakukan booting ulang untuk mengumimkan
nama NetBIOS pada setiap komputer anggota
jaringan lokal. NetBIOS name dipakai terutama oleh
aplikasi Network Neighborhood.
NetBIOS name digunakan dengan kombinasi
bersama dengan nomor IP lokal (privat).
Penerjemahan nomor IP (Internet Protocol) lokasi
ke NetIOS name, atau sebaliknya, dilakukan oleh
NetBIOS Name Server yang juga sering disebut
WINS.
Masing-masing komputer, ketika dihubungi oleh komputer lain dalam jaringan lokal akan
berfungsi sebagai WINS. Sebaliknya, ketika mnghubungi komputer lain, komputer asal akan
berfungsi sebagai client.
Adopsi protokol jaringan dan Internet TCP/IP dalam protokol NetBIOS ditampilkan dalam
kombinasi antara nama dan nomor IP. Namun, nama di sini bukan NetBIOS name, melainkan
host name atau machine name. Variasi protokol ini disebut NetBIOS over TCP/IP.
Host name dipakai oleh aplikasi seperti browser Internet, Telnet, FTP, serta server DNS yang
berhubungan dengan dunia di luar jaringan lokal, yaitu Internet. Sebuah komputer
penghubung, disebut gateway, berfungsi sebagai perantara dalam jaringan. Nah, gateway ini
dipasangi nomor IP publik yang bisa terhubung ke Internet. Nomor IP diterjemahkan ke host
name oleh satu komputer server yang disebut DNS (Domain Name Service). DNS server bisa
memakai satu komputer khusus dalam jaringan lokal atau “numpang pakai” DNS milik server
ISP (Internet Server Provider) yang memberikan akses publik. Namun, dalam prakteknya,
penggunaan DNS server milik sendiri dalam jaringan lokal lebih menjamin keamanan dan
kecepatan.
Jalur koneksi DNS server yang lebih pendek (ada dalam jaringan lokal) bisa membuat proses
dalam jaringan menjadi lebih cepat. Sedangkan prosedur koneksi ke Internet setelah proses
penerjemahan (resolve) nomor IP yang diharuskan melalui gateway membuat koneksi
menjadi lebih aman. Sedangkan informasi, gateway berfungsi untuk mengubah nomor IP
lokal (privat) ke nomor IP publik, sehingga nomor IP lokal tidak bisa dilihat dari luar. Proses ini
disebut NAT (Network Address Translation).
Host name bisa sama dengan NetBIOS name, bisa
pula diatur berbeda. Perubahan host name tidak akan
mengubah NetBIOS name.
Pengaturan TCP/IP pada NetBIOS bisa dilakukan
dengan cara mengakses [Control Panel] – [Network
Connection]. Setelah itu, klik kanan pada [Local Area
Connection] dan pilih [Properties]. Terakhir, lakukan
klik ganda pada [Internet Protocol (TCP/IP)].
Nah, sekarang bagaimana jika dalam satu jaringan
lokal ada dua komputer yang berbeda platform ingin
saling berbagi data? Ambil contoh saja antara
komputer berbasis Microsoft Windows dengan
komputer berbasis Linux. Kedua komputer tersebut
bisa menggunakan protokol yang berfungsi sebagai
jembatan, istilahnya protokol SMB (Service Message
Block), atau sering juga disebut sebagai Samba.
(PCplus, 280)
Jenis-Jenis Serangan
Oleh Onno W Purbo
Tulisan ini merupakan saduran bebas dari tulisan yang sama di PC Magazine
http://205.181.113.18/pcmag/pctech/content/17/08/nt1708.002.html dan juga hacktech.org
(http://www.hacktech.org). Denial of Service (DoS) merupakan serangan di Internet yang termasuk
cukup ditakuti karena akan menyebabkan mesin / server tidak bisa beroperasi sama sekali tidak bisa
memberikan servis. Tulisan ini akan mencoba memberikan gambaran secara garis besar teknik dari
berbagai serangan telak tersebut. Beberapa teknik telak yang sering digunakan, antara lain adalah:
• Ping of Death.
• Teardrop.
• SYN Attack
• Land Attack
• Smurf Attack
• UDP Flood
Ping of Death - menggunakan program utility ping yang ada di
sistem operasi komputer. Biasanya ping digunakan untuk men-
cek berapa waktu yang dibutuhkan untuk mengirimkan sejumlah
data tertentu dari satu komputer ke komputer lain. Panjang
maksimum data yang dapat dikirim menurut spesifikasi protokol
IP adalah 65,536 byte. Pada Ping of Death data yang dikirim melebihi maksimum paket yang di ijinkan
menurut spesifikasi protokol IP. Konsekuensinya, pada sistem yang tidak siap akan menyebabkan
sistem tersebut crash (tewas), hang (bengong) atau reboot (booting ulang) pada saat sistem tersebut
menerima paket yang demikian panjang. Serangan ini sudah tidak baru lagi, semua vendor sistem
operasi telah memperbaiki sistem-nya untuk menangani kiriman paket yang oversize.
Teardrop - teknik ini dikembangkan dengan cara mengeksplotasi proses disassembly-reassembly
paket data. Dalam jaringan Internet, seringkali data harus di potong kecil-kecil untuk menjamin
reliabilitas dan proses multiple akses jaringan. Potongan paket data ini, kadang harus dipotong ulang
menjadi lebih kecil lagi pada saat di salurkan melalui saluran Wide Area Network (WAN) agar pada
saat melalui saluran WAN yang tidak reliable proses pengiriman data menjadi lebih reliable. Pada
proses pemotongan data paket yang normal setiap potongan diberikan informasi offset data yang kira-
kira berbunyi “potongan paket ini merupakan potongan 600 byte
dari total 800 byte paket yang dikirim”. Program teardrop akan
memanipulasi offset potongan data sehingga akhirnya terjadi
overlapping antara paket yang diterima di bagian penerima
setelah potongan-potongan paket ini di reassembly. Seringkali,
overlapping ini menimbulkan system yang crash, hang dan reboot
di ujung sebelah sana.
SYN Attack - kelemahan dari spesifikasi TCP/IP, dia terbuka terhadap serangan paket SYN. Paket
SYN dikirimkan pada saat memulai handshake (jabat tangan) antara dia aplikasi sebelum transaksi /
pengiriman data dilakukan. Pada kondisi normal, aplikasi klien akan mengirimkan paket TCP SYN
untuk mensinkronisasi paket pada aplikasi di server (penerima). Server (penerima) akan mengirimkan
respond berupa acknowledgement paket TCP SYN ACK. Setelah paket TCP SYN ACK di terima
dengan baik oleh klien (pengirim), maka klien (pengirim) akan mengirimkan paket ACK sebagai tanda
transaksi pengiriman / penerimaan data akan di mulai. Dalam serangan SYN flood (banjir paket SYN),
klien akan membanjiri server dengan banyak paket TCP SYN. Setiap paket TCP SYN yang dikirim
akan menyebabkan server menjawab dengan paket TCP SYN ACK. Server (penerima) akan terus
mencatat (membuat antrian backlog) untuk menunggu responds TCP ACK dari klien yang
Pengertian Activex
Coba bayangkan jika kita mengunjungi sebuah halaman Web yang hanya berisi teks,
tanpa konten yg interaktif dan dinamis. Menjemukan bukan?
Secara mudah, ActiveX diartikan sebagai serangkaian pengaturan terhadap komponen-
komponen dan aplikasi pada antarmuka agar mereka saling berinteraksi dan berbagi
informasi. ActiveX semula semula digunakan untuk membangun antarmuka pengguna yang
bersifat dinamis, contohnya seperti desktop pada sistem operasi Windows, masing-masing
komponen tergabung menjadi satu dan berhubungan satu sama lain.
Pada perkembangan selanjutnya, ActiveX ditujukan terutama untuk browser Web. Aplikasi ini
dibuat sedemikian rupa sehingga dapat di-download dan dijalankan oleh browser Web.
Sebagai informasi, ActiveX merupakan teknologi milik Microsoft. Jika ia terinstal dalam
sistem, pengguna bisa memiliki akses penuh terhadap Windows.
Aplikasi ActiveX
Banyak sekali contoh aplikasi ActiveX control yang Anda perlukan untuk mengakses informasi
lewat browser Web. Contohnya adalah Adobe Reader, Quick Time Player, Flash Player,
dan Java Virtual Machine. Ya, aplikasi-aplikasi tersebut diperlukan untuk membuka konten
internet yang sudah bersifat multimedia.
Namun demikian, sifat ActiveX yang dapat di-download dan dijalankan secara otomatis bisa
menyebabkan resiko keamanan bagi sistem operasi dan data Anda. Tidak semua ActiveX
aman dan dibuat oleh orang yang berniat baik. Ada banyak pula ActiveX yang bisa digunakan
untuk membuat aplikasi jahat macam spyware, adware, trojan, dan virus. ActiveX jahat dapat
masuk ke dalam sistem saat Anda mengunjungi situs yang halamannya mengandung kode-
kode ActiveX jahat. Hal tersebut dapat terjadi karena kode ActiveX dapat disematkan ke
dalam kode-kode HTML yang menyusun sebuah halaman Web.
Digital Signature, ActiveX dan PlugIns
Menanggapi ancaman ActiveX jahat, muncul
apa yang disebut sebagai digital signature.
Setiap komponen atau aplikasi yang dibuat
dengan ActiveX disertai dengan digital
signature dari pembuatnya. Browser Web
mampu membandingkan digital signature ini,
apakah berasal dari pengembang dan situs
yang dipercaya, atau tidak. Pilihan akan
diajukan kepada Anda untuk mengijinkan
ActiveX di-download atau tidak.
Lalu, apa beda antara ActiveX dengan plugins?
Plugins merupakan penambahan kemampuan
pada browser Web dengan cara
menambahkan kode-kode pemrograman
padanya. Jadi, komponen tersebut tidak
terpisah dari browser Web.
Serupa dengan ActiveX produk Microsoft, Sun
Microsystems mengeluarkan produk
JavaApplet yang bersifat lintas platform. Dalam implementasi JavaApplet, diterapkan konsep
“sandbox”. Artinya, terdapat suatu “parit pengaman” antara aplikasi yang dibuat dengan
JavaApplet dengan terhadap data-data milik pengguna.
Upaya apa yang dapat Anda lakukan untuk meminimalkan resiko keamanan data pribadi
akibat ActiveX atau JavaApplet? Anda bisa memperhitungkan benar-benar digital signature si
penyedia ActiveX, apakah bisa dipercaya atau tidak. Kedua, jangan lupa menerapkan patch
kemanan yang disediakan oleh pihak pengembang browser Web favorit Anda.
Tak kalah penting, jangan mengunjungi situa-situs yang tidak bisa dipercaya, yang sering
meminta informasi pribadi Anda. Juga, atur browser Anda agar tidak secara otomatis
menerima setiap tawaran ActiveX, melainkan memberikan pilihan kepada Anda untuk
memutuskan. (PCplus, 278)
summary_noimg = 800;
summary_img = 700;
img_thumb_height = 170;
img_thumb_width = 220; //<![CDATA[
function removeHtmlTag(strx,chop){
if(strx.indexOf("<")!=-1)
{
var s = strx.split("<");
for(var i=0;i<s.length;i++){
if(s[i].indexOf(">")!=-1){
s[i] = s[i].substring(s[i].indexOf(">")+1,s[i].length);
}
}
strx = s.join("");
}
chop = (chop < strx.length-1) ? chop : strx.length-2;
while(strx.charAt(chop-1)!=' ' && strx.indexOf(' ',chop)!=-1) chop++;
strx = strx.substring(0,chop-1);
return strx+'...';
}
function createSummaryAndThumb(pID){
var div = document.getElementById(pID);
var imgtag = "";
var img = div.getElementsByTagName("img");
var summ = summary_noimg;
if(img.length>=1) {
imgtag = '<span style="float:left; padding:0px 10px 5px 0px;"><img
src="'+img[0].src+'" width="'+img_thumb_width+'px"
height="'+img_thumb_height+'px"/></span>';
summ = summary_img;
}
//]]>Aksi yang dilakukan oleh pembuat virus dalam merancang sebuah virus kini semakin sulit
terdeteksi. Perlu ketelitian dan keterampilan khusus untuk mencegah penyebarannya.
Bagaimana hal itu Anda lakukan, simak ulasan berikut ini.
Dalam melakukan aksi penyebarannya, virus atau worm akan memakai banyak cara agar dapat
mengaktifkan dirinya. Ada sejumlah virus yang mengaktifkan dirinya dengan bantuan folder startup
Windows dan ada pula yang memanfaatkan bantuan subkey dalam sistem registry. Untuk Anda ketahui
bersama, ada subkey di dalam sistem registry Windows yang berfungsi menjalankan sebuah program
secara otomatis saat Windows diaktifkan. Jika Anda menginginkan sebuah file executable berjalan saat
Windows diaktifkan, terlebih dahulu Anda harus menulis pada subkey autorun registry tersebut.
Subkey diisi dengan nama value yang berisi data. Data tersebut akan mendefinisikan file executable
yang harus dijalankan. Dalam artikel kali ini, Anda akan diajak menelusuri dan membaca sejumlah
subkey dengan bantuan tools yang sudah tersedia dalam sistem operasi Windows.
System Configuration Utility
Untuk memeriksa dan melihat konfigurasi startup yang terdapat dalam sistem operasi Windows, Anda
dapat menggunakan tools System Configuration Utility. Cara memanggilnya adalah klik "Start | Run",
ketikkan msconfig, dan tekan [Enter]. Selanjutnya, akan muncul window System Configuration Utility
yang menampilkan beberapa tab-menu, seperti "General", "SYSTEM.INI", "WIN.INI", "BOOT.INI",
"Services", dan "Startup". Dari jajaran tab-menu yang ada, "Startup" adalah tab-menu yang dapat
digunakan untuk melihat sejumlah program yang akan dijalankan oleh Windows saat diaktifkan. Hal
ini termasuk semua informasi subkey yang terdapat dalam sistem registry, (gambar 1).
Dalam tabmenu "Startup", akan terlihat kolom "Startup Item". Kolom tersebut menunjukkan nama
aplikasi yang dijalankan saat Windows diaktifkan. Ada pula kolom "Command" dan "Location" yang
berisi program yang diaktifkan berikut parameternya dan lokasi subkey registry yang menyimpan
konfigurasi program yang akan dijalankan. Jika Anda perhatikan, pada kolom "Startup Item", terdapat
checkbox. Checkbox dalam kondisi dicentang, menandakan program tersebut akan dijalankan saat
Windows dihidupkan. Untuk menonaktifkannya, cukup klik checkbox tersebut.
Sebagai ilustrasi, pada gambar 1 terlihat program NeroCheck, data pengaktifannya dipicu melalui
sistem registry. Hal ini dapat Anda perhatikan pada "Location" yang menyebutkan salah satu subkey
autorun registry. Sementara itu, file executable yang akan dijalankan berada dalam folder
d:\windows\system32. Perhatikan pula program HP Digital Imaging, pengaktifannya dilakukan melalui
folder Common Startup. Hal tersebut dapat Anda perhatikan melalui kolom "Location".
Dapat diambil kesimpulan, jika sebuah virus dengan “modus standar” menyerang, umumnya akan
membuat suatu nama value baru di subkey autorun registry dengan harapan file pemicu program virus
ikut dijalankan saat Windows diaktifkan. Karena informasi virus tersebut berada di subkey autorun atau
folder Common Startup, maka akan terlihat jelas dalam tab-menu "Startup". Tentunya bagi Anda
pengguna PC yang berpengalaman, akan lebih mudah mematikan virus tersebut melalui tab-menu
Startup. Caranya adalah dengan menghilangkan tanda centang yang ada di depan nama program virus.
Namun sangat disayangkan, sejumlah virus biasanya akan mencantumkan nama program menyerupai
dengan nama file sistem Windows. Hal ini bertujuan untuk mengelabui pengguna PC. Misalnya
memakai nama windows.exe, rundlll.exe dan lain sebagainya. Oleh karena itu, ketelitian Andalah yang
menentukan sukses tidaknya mengenali sebuah program virus. Jika Anda telah menghilangkan tanda
centang yang ada, klik tombol OK dan lakukan booting ulang.
Apakah virus sistem itu?
Bagaimana jika Anda telah melakukan langkah di atas, ternyata virus tetap saja aktif di memory dan
terus melakukan gangguan! Diindikasikan virus tersebut memanfaatkan teknik shell-spawning. Ini
merupakan sebuah teknik yang memanfaatkan eksploitasi key registry dan tidak memakai jalur subkey
autorun. Teknik ini akan mempergunakan salah satu subkey di HKEY_CLASSES_ROOT. Untuk
memeriksanya, Anda perlu masuk ke sistem registry dan memeriksa subkey tersebut. Jika subkey tidak
mengalami manipulasi data berarti virus tersebut memakai teknik lain. Mungkin saja menggunakan
teknik Resident dengan memanfaatkan registry Active Setup. Cara ini juga akan manipulasi registry
agar virus dapat aktif saat Windows dijalankan.
Kepiawaian Anda telah berhasil mengendus jejak virus tersebut dan menarik kesimpulan bahwa virus
yang terdeteksi tidak pula memanfaatkan teknik Resident. Hal ini terlihat dengan bersihnya subkey
Active Setup dari manipulasi data. Pertanyaan yang muncul adalah, teknik lain seperti apa yang dipakai
oleh virus tersebut untuk menyerang PC Anda? Proses selanjutnya yang dapat dilakukan adalah
menganalisis beberapa file yang dipanggil oleh Windows saat booting, seperti file NTLDR,
NTDETECT.COM sampai EXPLORER.EXE. Jika hasil analisis Anda menunjukkan bahwa file
tersebut “sehat-sehat” saja dan menyatakan virus yang terdeteksi tidak menempel di file yang Anda
analisis, Artinya Anda harus menelusuri lebih mendalam lagi agar virus atau worm yang mengancam
PC Anda dapat disingkirkan.
Setelah ditelusuri, ternyata jawabannya sederhana, tetapi tak terduga. Saat menyerang virus atau worm
akan “menelurkan” virus lain dan mendaftarkan virus tersebut sebagai suatu file service pada Windows
alias dijadikan sebagai file sistem. Tentu saja, karena terdaftar sebagai salah satu service Windows,
virus tersebut ikut aktif saat Windows dihidupkan. Salah satu virus yang memiliki model seperti ini
adalah KSPOOLD. Jika virus ini aktif sebagai sistem, ia akan mengubah file DOC dan XLS menjadi
EXE.
Untuk menyingkirkan virus model ini, Anda dapat memakai jasa System Configuration Utility.
Tepatnya melalui tab-menu "Services". Setelah meng-klik "Services", akan tampil beberapa service
yang ada pada Windows. Jumlah service yang banyak ini akan membuat pengguna PC tidak
mengetahui bahwa ada program virus yang dimasukkan, (gambar 2 dan 3).
Untuk menyembunyikan seluruh service milik Windows, Anda dapat memberi tanda centang pada
"Hide All Microsoft Services". Secara default, pilihan ini tidak aktif. Dengan mengaktifkan pilihan ini,
seluruh service milik Windows akan disembunyikan. Yang tampil hanyalah service-service nonstandar.
Dengan demikian, service non-Windows akan terlihat dengan jelas, termasuk yang dimiliki oleh virus
Artikel ini akan membahas beberapa contoh serangan yang dapat terjadi pada aplikasi web dan
bagaimana penanggulangannya agar dapat memaksimalkan keamanan aplikasi web Anda.
Tentu saja, isu keamanan tidak akan beres dengan sekali kerja, seperti halnya siskamling,
keamanan terus dilakukan dan tidak akan pernah berhenti.
Anda mungkin telah cukup banyak membaca dan mendengar saran-saran mengenai password
yang baik, misalnya harus terdiri dari kombinasi huruf dan angka, ataupun secara berkala
mengganti password.
Tetapi, tidak banyak yang menyinggung mengenai keamanan username. Padahal pada sebuah
halaman login, username bisa dianggap lapis keamanan yang pertama.
Bagi oknum yang sengaja ingin menebak password, jika telah mengetahui dengan tepat
username yang digunakan, maka berarti telah melewati pengaman pertama dan mempermudah
menebak pengaman berikutnya, yaitu password. Sebaliknya, hal tersebut akan lebih sulit
dilakukan jika username tidak diketahui.
Jangankan halaman login untuk masuk sebagai administrator website tertentu, halaman login
untuk e-mail saja disarankan tidak memberikan informasi yang dapat mengarahkan pada
kesimpulan username atau password telah diisi benar.
Contohnya, coba Anda login pada website Yahoo! Mail atau Google Gmail untuk membaca e-
mail Anda, anggaplah Anda memiliki username “jokodoyanmie”, tetapi Anda salah
mengetikkan password. Perhatikan bahwa Anda tidak mendapatkan pesan “Invalid password”,
atau “Invalid username”, pesan yang Anda terima adalah “Invalid ID or Password” (pada
Yahoo!), atau “Username and password do not match” (pada Google).
Pesan tersebut tidak menyebutkan secara tepat bagian mana yang salah ketik, apakah username
(ID), atau password? “Wah...perusahaan sebesar Yahoo! dan Google tidak bisa membuat script
untuk mendeteksi apakah kesalahan terjadi pada username atau password?” Mungkin demikian
pikir Anda dan tentu saja hal tersebut tidak mungkin, dengan kata lain Yahoo!, Google, dan
rata-rata e-mail provider lain umumnya memang sengaja menyamarkan informasi tersebut.
Mungkin Anda berpikir hal tersebut bukan sesuatu yang krusial, tetapi kenyataannya kombinasi
username dan password telah menjadi hal yang cukup serius, beberapa e-mail provider juga
tidak mengizinkan Anda memilih password yang sama atau mengandung kata yang terdapat
pada username.
Pencegahannya cukup mudah, tidak perlu membuat script untuk mencari kesalahan login
terletak pada username atau password, juga hindari penggunaan username yang umum dan
mudah ditebak seperti admin, administrator, dan seterusnya.
Sebuah website biasanya mencoba untuk berinteraksi dengan pengunjung dengan jalan
menyediakan fasilitas agar pengguna dapat mengisikan sesuatu, misalnya saja komentar, atau
guestbook, atau yang lebih modern lagi, yaitu shoutbox.
Sayangnya, jika website Anda dikunjungi oleh seseorang yang iseng, maka bisa jadi sebuah
script jahat dapat turut menjadi “komentar” dan ini bukan berita baik bagi website Anda.
Ilustrasinya adalah sebagai berikut, Anda mengisikan guestbook katakanlah pada alamat
http://domainsaya.com/guestbook.php dengan komentar berikut:
Website yang aman...
Perhatikan bahwa terdapat JavaScript pada komentar tersebut. Jika komentar tersebut dapat diterima
dan dieksekusi oleh website, maka setiap kali ada pengunjung yang mengaksesnya, akan tampil sebuah
pesan bertuliskan “tapi bohonggg...”. Cukup mengganggu, bukan? Tidak hanya sampai di sana, jika
sebuah website telah dapat disusupi dengan cara seperti ini, maka banyak sekali kemungkinan script
berbahaya yang dapat ditanamkan.
Misalkan script untuk mengalihkan website domainsaya.com ke website lain, script untuk
menampilkan gambar porno (yang dapat dilakukan dengan HTML biasa) atau script untuk mengambil
informasi seperti cookie. Cukup berbahaya, bukan?
Langkah pencegahannya, antara lain dengan tidak langsung mengizinkan komentar yang masuk tampil
pada browser Anda, harus melalui proses approve. Hal ini membutuhkan kerja seorang administrator
yang bertugas melakukan filter komentar yang masuk dan berhak menolak komentar yang tidak
diinginkan.
Walaupun tidak berarti semua website yang memberlakukan filter seperti ini berarti menyadari akan
bahaya kebobolan melalui script injection ini. Karena bisa saja hal ini dilakukan dengan alasan
menghindari penggunaan kata-kata tertentu.
Cara pencegahan yang lain adalah dengan menolak penulisan script atau tag HTML, dengan risiko
tampilan komentar menjadi datar tanpa aksesoris karena tag-tag HTML untuk melakukan variasi huruf
(bold, italic, dan lain-lain) tidak dapat digunakan. Tetapi jika Anda membutuhkannya, Anda dapat
membuat sendiri aturan dan penulisan tag, misalnya [:bold] untuk membuat huruf menjadi bold, dan
seterusnya.
Tag buatan Anda tersebut akan disubsitusikan secara otomatis dengan tag HTML sehingga tampilannya
sesuai seperti yang diinginkan. Beberapa engine forum telah menggunakan metode ini.
Cara lainnya adalah dengan melakukan encode script, contohnya mengganti karakter “<” dengan <
dan karakter “>” dengan > sehingga kata <script> akan menjadi <script> tetapi
tetap memberikan output <script> pada browser tanpa dieksekusi.
Sudah menjadi kebiasaan web developer untuk mencoba terlebih dahulu website-nya pada localhost
sebelum di-upload di Internet, mereka membuat sebuah folder sebagai root website (lazimnya folder
bernama htdocs atau www) dan bekerja di dalamnya.
Tentu saja, bekerja di komputer sendiri relatif lebih aman, sehingga mungkin Anda tidak ragu membuat
sub-folder untuk melakukan back-up, menyimpan data, atau bahkan membuat file password.txt yang
berisi username dan password yang digunakan sebagai catatan.
Masalah dapat muncul jika Anda mulai melakukan upload ke web server yang sebenarnya, berhubung
memiliki koneksi Internet yang cepat atau malas memilah-milah file yang ingin di-upload, Anda
memilih semua sub-folder dan file yang berada pada folder root, dan meng-upload-nya ke Internet
(termasuk sub folder back-up, data, dan password.txt tadi)!
Lalu apa bahayanya? Bukankah file-file tersebut tidak terlihat, dan tidak tampil pada website Anda?
Belum tentu, gambaran di bawah ini memperlihatkan potensi bahaya tersebut.
Misalnya Anda mengunjungi website domainsaya.com dan ingin melihat gambar atau foto apa saja
yang tersimpan di dalam website tersebut, salah satu cara yang umum adalah dengan mengetikkan
http://domainsaya.com/images berdasarkan asumsi folder images digunakan oleh website tersebut
untuk menyimpan seluruh gambar (dan memang kenyataannya folder dengan nama images sangat
umum). Jika tebakan Anda benar, akan muncul daftar gambar yang dapat Anda download satu-persatu
secara langsung dari browser ataupun menggunakan tools.
Sebagai catatan tambahan, browser akan menampilkan daftar file dan direktori jika tidak ditemukan
halaman default pada folder tersebut (umumnya adalah index.html, index.php, default.asp, dan lain-
lain).
Kalau gambar saja mungkin tidak terlalu masalah ditampilkan daftarnya dan di-download, tetapi
bagaimana jika yang diakses adalah folder domainsaya.com/backup, domainsaya.com/data, atau
bahkan domainsaya.com/password.txt? Informasi tersebut dapat diperoleh dengan mudah!
Dan jangan berpikir bahwa orang iseng mana yang mencoba-coba mengakses direktori dan file pada
website Anda, karena bisa saja orang iseng tersebut melakukannya dengan memilih target secara
random dan tidak mengerjakannya secara manual, tetapi dengan bantuan tools dan dictionary berisi
daftar target direktori/file yang telah disiapkan.
Jaga Parameter
Pada aplikasi web, kita mengenal beberapa parameter yang dikirimkan ke server. Jika tidak dicermati,
parameter ini dapat menjadi lubang keamanan yang serius karena memungkinkan pengguna dari sisi
client memanipulasinya terlebih dahulu sebelum mengirimkannya ke server.
Perhatikan contoh script sederhana di bawah ini yang menggunakan parameter form POST:
<form method=POST name=myForm action=simpan.asp>
<br>
</form>
Script di atas akan mengirimkan tiga parameter, walaupun yang terlihat pada browser hanya field
username dan password. Field yang ketiga adalah level, yang tidak terlihat karena diberikan atribut
type=hidden.
Yang harus Anda cermati adalah field tersembunyi tersebut tidak akan pernah benar-benar tersembunyi
saat telah berada pada sisi client, pengguna dapat dengan mudah mengubah atribut value pada field
tersebut.
Caranya mudah, hanya dengan menyimpan halaman tersebut pada harddisk pengguna dan melakukan
modifikasi pada HTML, maka value dari field level dapat diubah sesuka hati, tentunya berbahaya jika
Anda memperlakukan value tersebut di server sebagai gerbang masuk untuk mengakses fungsi-fungsi
tertentu.
Satu hal lagi yang perlu diubah dari sisi pengguna adalah atribut action=simpan.asp pada tag
form yang perlu diganti menjadi action=http://domaintarget.com/simpan.asp, karena
HTML yang sudah dimodifikasi tersebut dijalankan dari local, bukan dari Internet.
Dengan metode yang sama, validasi berupa maksimal panjang karakter pada atribut maxlength=10
dapat dengan mudah dibuang dan membebaskan pengguna untuk mengetikkan sepanjang apapun
karakter yang diinginkan, demikian juga jika Anda menggunakan validasi dengan JavaScript, dapat
dengan mudah dimodifikasi dan diabaikan.
Parameter lain yang lebih mudah terlihat adalah parameter URL Query String, misalnya jika sebuah
URL website terlihat seperti http://domainsaya.com/module=news, pengguna dapat dengan mudah
mengganti nilai news dengan string lain, atau bahkan dengan script yang berbahaya.
Hati-hati juga dengan penggunaan cookie, cookie digunakan untuk menyimpan data pengguna pada sisi
client, programer dapat meletakkan parameter tertentu, kita ambil saja contoh yang sangat to the point
yaitu Cookie: admin=false; yang tentu saja sangat fatal karena parameternya dapat dimodifikasi
menjadi Cookie: admin=true;. Browser popular seperti Mozilla Firefox dapat dengan mudah
menampilkan isi cookie.