Perhatian : Semua nama dan cerita di dalam buku ini hanyalah sebuah rekayasa penulis dan tidak pernah benar-benar terjadi. Apabila terdapat persamaan kejadian atau nama, semuanya hanyalah sebuah kebetulan.
Seni Internet Hacking ReCODED
Jasakom http://www.Jasakom.com/Penerbitan
Penerbit : Jasakom
S to ’to
Seni Internet Hacking ReCODED Hak Cipta © 2006 pada penulis Hak Cipta dilindungi Undang-Undang. Dilarang memperbanyak atau memindahkan sebagian atau seluruh isi buku ini dalam bentuk apapun, baik secara elektronis maupun mekanis, termasuk memfotocopy, merekam atau dengan sistem penyimpanan lainnya, tanpa izin tertulis dari Penulis dan Penerbit.
ISBN
979-98545-8-X
Cetakan pertama
: Maret 2006
Publisher Jasakom Web Site http://www.jasakom.com/penerbitan Email
[email protected]
Cover Design Widiprasetiyanto Paulus Cover Idea Widiprasetiyanto Paulus Layout S’to
Ketentuan pidana pasal 72 UU No. 19 tahun 2002 1.
2.
Barang siapa dengan sengaja dan tanpa hak melakukan kegiatan sebagaimana dimaksud dalam pasal 2 ayat (1) atau pasal 49 ayat (1) dan ayat (2) dipidana dengan pidana penjara paling singkat 1 (satu) bulan dan/atau denda paling sedikit Rp. 1.000.000 (satu juta rupiah) atau pidana penjara paling lama 7 (tujuh) tahun dan/ atau denda paling banyak Rp. 5.000.000.000.00 (lima miliar rupiah). Barang siapa dengan sengaja menyiarkan, memamerkan, mengedarkan, atau menjual kepada umum suatu Ciptaan atau barang hasil pelanggaran Hak Cipta atau Hak Terkait sebagaimana dimaksud pada ayat (1), dipidana dengan pidana penjara paling lama 5 (lima) tahun dan/atau denda paling banyak Rp. 500.000.000,00 (lima ratus juta rupiah)
iv
Kata Pengantar Hacking terhadap sebuah aplikasi Internet, semakin hari semakin marak. Hal ini diakibatkan oleh beberapa sebab diantaranya, banyaknya programmer yang tidak memahami masalah keamanan aplikasi , semakin tangguhnya pertahanan sistem operasi dan semakin umumnya penggunaan produk rewall dan antivirus. Akibatnya adalah, serangan semakin tertuju ke aplikasi yang dibuat Buku ini dibuat agar Anda bisa memahami tentang apa dan bagaimana sebuah aplikasi bisa dikatakan tidak aman dan bagaimana bisa diambil alih oleh hacker. Tentu saja, termasuk bagaimana mencegahnya agar Anda tidak menjadi korban. Akhir kata, semoga Seni Internet Hacking ReCODED kali ini bisa memuaskan rasa penasaran Anda akan dunia hacking dan menambah pengetahuan yang dianggap gelap ini. Jika Anda punya pertanyaan ataupun kritik, jangan lupa email ke saya agar bisa diperbaiki di buku saya mendatang. Terima kasih kepada para pembaca yang telah membuat saya kembali menulis.
Salam kelelawar
S to ’
email :
[email protected] web : http: //www.jasaKom.com /sto
v
ISI CD 1. AUDIO / VIDEO Sebagian besar materi telah direkam dalam bentuk video dalam format .avi. Dengan begitu, Anda tidak hanya membaca, namun juga bisa melihat tentang apa yang diajarkan oleh buku ini. Dengan dua konsep pengajaran ini, semua materi yang disampaikan bisa diserap secara tuntas, cepat dan mudah.
2. Source CODE Semua source code yang digunakan pada buku ini disertakan ke dalam CD agar Anda tidak perlu lagi mengetiknya.
3. Program Semua program tambahan selain sistem operasi yang digunakan pada buku ini disertakan ke dalam CD agar Anda tidak perlu lagi mendownloadnya
4. Wallpaper Jika Anda suka dengan cover Seni Internet Hacking ReCODED dari seri buku Uncensored, kami sertakan pula gambarnya untuk dijadikan wallpaper.
5. eBook / Contoh Bab (lengkap) Berisi buku-buku yang telah diterbitkan oleh Jasakom yang mendapatkan predikat Best Seller semuanya.
vi
Daftar Isi Pendahuluan
1
Pengetahuan Dasar
2
Untuk Semua Kalangan
3
ReCODED 01. Hacking Client Side For Dummies
5
Aplikasi
7
The Code
7
The Hack
8
Mr. Kelelawar
ReCODED 02. Hack HTTP Header
13 15
Aplikasi
18
The Code
19
The Hack
20
Setting IE dan Achilles
21
Penggunaan untuk Hacking
22
Mr. Kelelawar ReCODED 03. Magic HTML Injection
23 25
Aplikasi
27
The Code
27
The Hack
30
Mr. Kelelawar
34
vii
ReCODED 04. Hacking Metode GET
Aplikasi
36
The Code
37
The Hack
39
Mr. Kelelawar
41
ReCODED 05. Hacking Cookie
44
Aplikasi
44
The Code
46
The Hack
51
Mr. Kelelawar
57
ReCODED 06. Cookie Fixation
59
Aplikasi
60
The Code
62
Cookie dan Sessions
65
The Hack
66
Mr. Kelelawar
68
ReCODED 07. Manipulasi Variable Input
viii
36
69
Aplikasi
70
The Code
71
The Hack
73
Mr. Kelelawar
76
ReCODED 08. Shell Injection
77
Aplikasi
78
The Code
79
The Hack
80
Mr. Kelelawar
83
ReCODED 09. Hacking Perintah Include
86
Aplikasi
87
The Code
88
The Hack
90
.INC ? Kenapa tidak php ?
92
Tidak harus .INC !
94
Mr. Kelelawar ReCODED 10. Hacking Form Upload Gambar
Aplikasi
96
97
98
The Code
100
The Hack
103
Mr. Kelelawar
107
Penutup
109
Cukupkah buku ini ? Kemana Setelah ini ?
110
Hacker dan Bisnis, Seorang Bajingan Brengsek?
111
Pekerjaan dalam Bidang Security
111
ix
x
Lampiran A. Web Server IIS
115
Lampiran B. ASP
125
Lampiran C. PHP
151
Pendahuluan Buku Seni Internet Hacking ReCODED disusun dengan cara yang dibentuk sedemikian rupa agar bisa dipelajari dengan mudah oleh berbagai kalangan.
1 Jasakom
PENDAHULUAN
B
uku ini memberikan konsep keamanan secara lengkap yang di bahas dengan contoh nyata. Dengan contoh semacam ini, Anda tidak hanya akan mendengar jangan menggunakan xxx karena yyy namun tidak memahami permasalahannya secara jelas. Untuk itu, buku ini menggunakan contoh kasus yang dibagi atas 5 bagian yaitu : 1. Kasus, pada bagian ini diceritakan sedikit latar belakang yang menyebabkan kebutuhan akan aplikasi internet. i n I u k u B n a k a n u g g n e M a n a m i a g a B
2. Aplikasi, bagian ini memberikan Anda penjelasan tentang program yang akan dibuat 3. The Code, bagian ini merupakan source code yang digunakan untuk membangun aplikasi yang digunakan. Aplikasi yang dibangun adalah aplikasi yang sangat sederhana dan lansung to ke pokok permasalahan. Tidak ada validasi yang macam-macam ataupun code untuk melakukan format agar tampilannya menjadi bagus karena tujuan utama buku ini bukan untuk itu. 4. The Hack, bagian ini menceritakan bagaimana code yang telah dibangun tersebut bisa dihack oleh hacker yang umumnya tanpa menggunakan tools dan merupakan serangan yang tidak bisa dicegah oleh rewall maupun produk lainnya 5. Mr. Kelelawar, bagian ini memberikan saran-saran tentang bagaimana menghindari kasus yang sama terjadi pada Anda.
Pengetahuan Dasar Untuk menggunakan buku ini, akan jauh lebih mudah apabila pembaca telah mempunyai kemampuan dasar pemrograman. Akan sangat baik sekali jika pembaca telah mengetahui bahasa HTML, ASP dan PHP karena bahasa inilah yang digunakan pada buku ini. Alasan penggunaan bahasa ini hanyalah karena bahasa ini yang paling banyak digunakan. Kasus yang menimpa code-code yang dibicarakan disini, terkadang tidak dikarenakan bahasa yang digunakan. Artinya,
2 Jasakom
PENDAHULUAN walaupun pada contoh menggunakan bahasa ASP, namun aplikasi yang dibangun dengan cara yang sama dengan menggunakan bahasa lain seperti PHP ataupun yang lainnya akan menghasilkan resiko yang sama. Pengetahuan dasar lainnya yang dibutuhkan adalah pengetahuan tentang web server seperti IIS dan Apache. IIS hanya bisa di jalankan pada lingkungan windows seperti NT,2000,2003 dan XP Profesional. Sementara server Apache lebih bersifat universal karena bisa dijalankan pada lingkungan windows maupun linux, namun umumnya Apache dijalankan di Linux. Pada buku ini, diasumsikan web server IIS menggunakan windows XP Profesional dengan instalasi module PHP. Sedangkan sistem yang lain adalah penggunaan Apache yang dijalankan pada Fedora Core 4. Jika Anda tidak memahami pengetahuan dasar ini, silahkan dibaca terlebih dahulu lampiran yang disertakan. Karena buku ini merupakan buku yang ditujukan untuk membahas tentang security, pembahasan tentang pengetahuan dasar ini sangatlah tidak mencukupi. Jika Anda hendak mendalami pengetahuan dasar yang dibutuhkan dalam hacking ini, Saya menyarankan Anda membeli buku yang membahas khusus tentang PHP, ASP, IIS dan Apache.
Untuk Semua Kalangan Pembagian setiap kasus ke dalam bagian-bagian khusus ini dilakukan agar semua level kalangan bisa menggunakan buku ini. Bagi orangorang yang hanya tertarik dengan proses hacking, bisa membaca kasus disertai dengan proses hackingnya saja tanpa perlu mengetahui bagaimana suatu program dibuat. Bagi yang ingin mengetahui segalanya, tentang bagaimana suatu aplikasi dibuat, bagaimana suatu aplikasi bisa bermasalah seperti web developer, maka sangat perlu membaca semua bagian dari setiap kasus.
3 Jasakom
B a g a i m a n a M e n g g u n a k a n B u k u I n i
PENDAHULUAN Dengan pembagian semacam ini, cara membaca buku ini bisa saja berbeda-beda untuk setiap orang tergantung dengan kebutuhannya masing-masing. Walaupun begitu, untuk menguasai suatu pokok permasalahan secara tuntas, ke 5 bagian ini haruslah dikuasai secara baik dan mendalam. Akhir kata, selamat memulai perjalanan Anda menuju dunia Hacking yang nyata !
i n I u k u B n a k a n u g g n e M a n a m i a g a B
4 Jasakom
RECODED 02 Programmer yang membuat aplikasi untuk pemilihan kepala desa segera menyadari akan adanya akses curang oleh para pemilih. Untuk itu, belajarlah dia dari berbagai buku tentang programming tingkat lanjut untuk mengantisipasi permainan dari para hacker ini.
15 Jasakom
RECODED 02 Recoded 02 Hack HTTP Header
P
rogrammer yang membuat aplikasi untuk pemilihan kepala desa segera menyadari akan adanya akses curang oleh para pemilih. Untuk itu, belajarlah dia dari berbagai buku tentang programming tingkat lanjut untuk mengantisipasi permainan dari para hacker ini. r e d a e H P T T H k c a H
Salah satu buku menjelaskan tentang http header yaitu suatu kode yang dikirim oleh browser kepada server yang menjelaskan berbagai hal. Sebagai contoh, ketika kita melakukan browsing ke alamat http://www.jasakom.com, maka browser akan mengirimkan data sebagai berikut : GET / HTTP/1.0 Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/ x-shockwave-ash, application/vnd.ms-excel, application/vnd.ms-powerpoint,
application/msword, */* Accept-Language: en-us User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322; .NET CLR 2.0.50727) Host: www.jasakom.com Proxy-Connection: Keep-Alive
Permintaan user untuk melihat atau menampilkan data suatu situs tidak hanya sekedar komunikasi satu arah. User juga memberikan informasi-informasi yang seringkali tidak diketahui oleh user yang di rangkum dalam bentuk data yang di namakan sebagai http header. Sebagai contohnya disini, kira-kira percakapan yang diberikan oleh browser user kepada server jasakom adalah seperti berikut : “ Hei www.jasakom.com, berikan Saya halaman utama kamu (GET / HTTP/1.0) dalam format bahasa http versi 1.0.
16 Jasakom
RECODED 02 Saya menggunakan aplikasi dalam bahasa inggris (Accept-Language: en-us) dan Saya mengerti tentang berbagai format le (image/ gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/xshockwave-ash, application/vnd.ms-excel, application/vnd.mspowerpoint, application/msword, */*). Oh iya, Saya menggunakan browser Mozilla/4.0 (User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322; .NET CLR 2.0.50727)) jika Anda perlu mengetahuinya juga”
Referer Http header merupakan topik yang cukup kompleks untuk dibicarakan secara detail. Anda bisa membaca rfc tentang http header versi 1.0 di http://www.w3.org/Protocols/rfc1945/rfc1945 atau http header versi 1.1 di http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html. Kedua dokumen ini juga Saya sertakan ke dalam CD yang disertakan pada buku ini. Pada dasarnya referer (bukan referrer) di sini digunakan oleh server untuk berbagai kegunaan dengan mengetahui darimana Anda berasal. Sebagai contoh, Saya melakukan browsing ke situs www.jasakom.com yang mempunyai link ke www.xxx.com. Ketika Saya mengklik link ini, maka browser IE Saya akan mengirimkan http header seperti berikut : GET / HTTP/1.0 Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/ x-shockwave-ash, application/vnd.ms-excel, application/vnd.ms-powerpoint,
application/msword, */* Referer: http://www.jasakom.com/index.asp Accept-Language: en-us
Terlihat bahwa sebuah entry baru ditambahkan ketika meminta halaman untuk ditampilkan pada situs www.xxx.com yaitu referer. Jadi referer di sini mengatakan kepada situs www.xxx.com, “hei xxx.com, Saya mengakses Anda karena mendapatkan link dari http://www.jasakom. com/index.asp.”. Situs www.xxx.com akan mengetahui bahwa Saya tidak mengetikkan alamatnya secara langsung namun Saya masuk ke situsnya karena referensi dari situs www.jasakom.com/index.asp
17 Jasakom
H a c k H T T P H e a d e r
RECODED 02 Programmer kemudian banyak yang memanfaatkan fungsi eld referer ini untuk mencegah manipulasi oleh user yang mengedit suatu halaman dengan menyimpannya terlebih dahulu ke harddisk lokalnya. Intinya adalah, jika user menyimpan halaman pada harddisk lokalnya, kemudian mengirimkan hasilnya ke server korban, maka referer-nya akan blank atau tidak ada. Jika user mengikuti prosedur standard dan tidak bermain curang, maka akan terisi sebuah referer yang menandakan bahwa user berasal dari server yang sama.
r e d a e H P T T H k c a H
Aplikasi Untuk memberikan suara, pemilih tinggal masuk ke alamat web server http://192.168.1.1/hack02.htm. Pada halaman ini pemilih akan mendapatkan halaman yang menampilkan dua pilihan, yaitu calon kepala desa yaitu ucup.botak.com dan aming.dodol.com serta nilai suara yang diberikan untuk masing-masing calon yaitu 1, 2 atau 3. Setelah peserta memasukkan nilai suara dan mengklik tombol submit, aplikasi akan melakukan pengecekan apakah terjadi manipulasi nilai yang dilakukan dengan mengecek nilai referer. Jika ternyata referernya tidak sesuai atau tidak berasal dari alamat url http://192.168.1.1/hack02.htm, maka bisa dipastikan bahwa user telah memainkan aplikasi ini sehingga sebuah peringatan perlu diberikan agar user tersebut tidak macam-macam lagi. Saya rasa ancaman ke dukun cukup mengerikan buatnya :
Gambar 02a. Peringatan kepada Hacker
18 Jasakom
RECODED 02 Jika referer menunjukkan bahwa user memang berasal dari halaman sebelumnya di server, yaitu http://192.168.1.1/hack02.htm, maka kita bisa menampilkan hasilnya dengan tenang, tentram dan tanpa rasa was -was.
The Code Code pada halaman hack02.htm ini sama persis dengan halaman hack01.htm, Saya hanya mengirimkannya ke halaman yang berbeda yaitu hack02hasil.asp sehingga code lengkapnya menjadi : H a c k H T T P H e a d e r
Halaman hack02hasil.asp melakukan tugas yang sama dengan hack01hasil.asp, Saya hanya menambahkan code untuk memeriksa nilai referer. Jika referer berisi lokasi yang seharusnya (http://192.168.1.1/hack02.htm) maka Saya akan anggap user tidak melakukan perubahan illegal. Apabila nilai referer kosong atau selain berisi http://192.168.1.1/hack02.htm, maka bisa dipastikan user telah memainkan halaman tersebut dan memberikan peringatan kepada sang hacker
19 Jasakom
RECODED 02 <% if request.ServerVariables(“HTTP_REFERER”) = _ “http://192.168.1.1/hack02.htm” then Response.write “Thanks atas suara yang telah Anda berikan” _ &” kepada
” & request.form(“calon”) & “dengan nilai suara
” _ & request.form(“nilai”) & “” else response.write “Hacker ? Awas, ntar Saya aduin ke dukun” _ & ”baru tau rasa !! “ end if %>
r e d a e H P T T H k c a H
The Hack Satu hal yang harus di ingat mengenai http header adalah bahwa ia di kirim dan dibuat oleh client. Apapun yang dibuat dan dikirim oleh client, bukanlah sesuatu yang bisa dipercaya karena bisa dimanipulasi. Pada kasus penggunaan header http ini, Saya bisa melakukan perubahan dengan berbagai cara. Diantaranya adalah membuat script pengiriman sendiri yang akan mengirimkan header http buatan sendiri atau dengan bantuan proxy yang bertindak sebagai man-in-the-middle. Pada proses hacking kali ini, Saya akan menggunakan konsep MITM proxy (gambar 02b).
Gambar 02b. MITM Proxy
20 Jasakom
RECODED 02 MITM Proxy berdiri di tengah-tengah antara PC User dan Web Server. Data yang dikirim oleh browser client, akan “ditangkap dan ditahan” oleh MITM Proxy. Selanjutnya, hacker bisa menganalisa dan merubah data ini sesuai kebutuhan, setelah itu barulah data tersebut dikirim ke Web Server. Cara kerja yang begitu sederhana namun berbahaya ! Untuk menggunakan MITM Proxy kali ini, Saya akan menggunakan program yang dibuat oleh Roberto Cardona dari Digizen-Security. com yang dinamakan Achilles. Sayang sekali program ini sudah tidak dikembangkan dan sudah tidak bisa Anda download dari situs Digizen-Security.com. Saya mendownloadnya dari situs lain dan bisa Anda dapatkan pada CD yang disertakan pada buku ini. Walaupun sudah tidak dikembangkan, namun program ini masih sesuai untuk digunakan sampai detik ini.
Setting IE dan Achilles Menjalankan Achilles sangatlah mudah, tidak ada proses instalasi yang diperlukan. Anda hanya perlu mengcopykan semua le yang disertakan pada sebuah direktory kemudian menjalankan program Achilles.exe.
Gambar 02c. Menggunakan Achilles
21 Jasakom
H a c k H T T P H e a d e r
RECODED 02 Pada contoh, Saya menjalankan Achilles dan browser IE pada komputer yang sama. Anda perlu melakukan dua tahapan setting disini yaitu : 1. Mengaktifkan Achilles 2. Mengeset agar IE menggunakan Achilles Perhatikan gambar 02c. Untuk mengaktifkan Achilles setelah menjalankannya, Anda perlu mengatur agar pilihan “ Intercept mode ON” dan “Inercept (kesalahan tulis oleh pembuat program) Client Data” di aktifkan (1). Setelah itu, Klik tombol Run (2) untuk menjalankannya. Jika semuanya berjalan dengan lancar, Anda akan melihat taskbar “Status” menunjukkan kata “Running” (3). r e d a e H P T T H k c a H
Agar IE Anda mengirimkan datanya melalui proxy Achilles, maka Anda perlu mengatur juga koneksi di IE. Untuk itu, pilih menu ToolsaInternet OptionsaConnectionsaLAN Settings. Pertama, katakan kepada IE bahwa Anda ingin menggunakan perantara atau proxy pada saat mengirim dan menerima data dengan mengaktifkan pilihan “User a proxy server for your LAN (These settings will not apply to dial-up or VPN Connections).” (4). Setelah itu, karena Saya menjalankan Achilles pada komputer yang sama, maka Saya mengatakan kepada IE bahwa alamat proxy yang digunakan adalah komputer lokal yaitu 127.0.0.1 (5). Port default yang digunakan oleh Achilles adalah 5000 dan Anda perlu mengatakannya juga kepada IE agar menggunakan port ini (6). Anda juga bisa menggunakan port yang lain seperti 6000, 7000, 7700 dlsb . Yang perlu diperhatikan disini adalah Achilles merupakan open proxy, sehingga user lain yang mengetahui port yang dibuka oleh Achilles di komputer Anda, akan bisa menggunakannya.
Penggunaan untuk Hacking Dengan adanya achilles, semua pengiriman data dari browser client akan di “tangkap” dan ditampilkan pada halaman Achilles. Pada contoh, terlihat bahwa pada saat Saya mengirimkan data dari halaman hack02.htm ke Web server, data tersebut di tampilkan sepenuhnya oleh Achilles, termasuk header http (gambar 02d).
22 Jasakom
RECODED 02
Gambar 02d. Achilles in action
Melalui Achilles ini, Anda bisa langsung merubah nilai atau angka pengiriman dari 1 menjadi 100, 1000 atau nilai berapapun yang Anda inginkan. Dengan perubahan on-the-y semacam ini, isi dari referer tidak akan berubah dan aplikasi web tersebut akan dengan mudah tertipu ! Setelah perubahan dilakukan, klik tombol “Send” yang akan segera mengirimkan data ini ke server korban dan ..... Bang !! Andalah pemenangnya !! Jika Anda tidak suka dengan Achilles atau program pembantu lainnya, Anda juga bisa melakukan proses hacking semacam ini dengan telnet !
Mr. Kelelawar Jangan mengandalkan data dari header http karena data tersebut dikirim oleh client yang bisa dirubah dengan mudah. Lakukan validasi dan validasi ketika
23 Jasakom
H a c k H T T P H e a d e r
RECODED 02 data telah sampai ke sisi server. Data header http bisa disamakan dengan data input box yang bisa dirubah. Lalu, apa yang dilakukan oleh situs-situs besar untuk mencegah agar user tidak merubah data atau mengirimkan data secara otomatis tanpa melalui form “resmi”? Mereka umumnya membuat agar halaman yang mengambil input dari user juga menampilkan gambar-gambar angka dan huruf secara acak yang harus diketikkan secara manual juga oleh user. Jika ada hacker yang mencoba mengirimkan data tanpa melalui form “resmi” ini, maka mereka akan kesulitan memasukkan angka dan huruf yang di tampilkan secara random ini. Contohnya adalah yahoo, hotmail, mailcity, dll r e d a e H P T T H k c a H
24 Jasakom
Lampiran A WEB Server 115
LAMPIRAN A Web Server IIS
W
eb site yang setiap hari Anda buka dengan Internet Explorer, Firefox ataupun browser lainnya berjalan di atas services yang dinamakan sebagai web server. Tanpa web server, sebuah web site tidak akan bisa berjalan.
R E V R E S B E W
Apache dan IIS adalah dua web server yang menguasai dunia ini. Apache biasanya di install dengan sistem operasi Linux walaupun Apache yang lebih bersifat independen ini bisa juga di install ke dalam sistem windows. Karena di windows (NT/2000/2003/XP Pro) sudah terdapat web server secara default, yaitu IIS, maka tidak mengherankan bahwa web server inilah yang paling banyak digunakan di dalam lingkungan Windows. Pada buku ini, saya menggunakan 2 sistem operasi yaitu windows XP Profesional (harus versi profesional dan bukan versi home) yang menjalankan IIS dan Linux Fedora Core 4 yang menjalankan Apache. Anda bisa memilih sistem operasi lainnya seperti mandrake, debian, dll.
Menginstal IIS Menginstall IIS umumnya sangat mudah karena sudah terintegrasi ke dalam sistem operasi windows NT/2000/2003 dan XP Profesional. Untuk melakukan instalasi web server IIS pada windows XP Profesional, klik menu Control Panel aAdd/Remove ProgramsaAdd/Remove Windows ComponentsaInternet Information Services(IIS)aNext (gambar a1)
116 Jasakom
LAMPIRAN A
Gambar a1. Instalasi Web Server IIS
Bagaimana Anda bisa mengetahui bahwa sebuah web server telah aktif ? Gunakan IE Anda dan masukkan alamat http://AlamatIP_Anda atau http://127.0.0.1 atau http://localhost/. Apabila semuanya berjalan dengan lancar dan baik, Anda akan melihat tampilkan seperti gambar a2 dibawah ini :
W E B S E R V E R
Gambar a2. Halaman utama default IIS
117 Jasakom
LAMPIRAN A Home Direktory Web Server Pada saat Anda mengetikkan http://127.0.0.1, komputer menampilkan sebuah halaman default. Darimanakah halaman ini ? Bagaimana menggantinya ? Setiap web server memiliki home direktory atau direktory induk. Sebagai contohnya, untuk melihat home direktory server IIS Anda, klik menu Control Panel aAdministrative toolsaInternet Informations Servicesanama komputer Anda(local computer)aWeb SitesaKlik kanan Default Web SitesaPropertiesaHome DirectoryaLocal Path (gambar A3)
R E V R E S B E W
Gambar a3. Home Directory Web Server
Secara default, home directory web server IIS adalah c:\inetpub\wwwroot. Artinya, hanya le-le yang disimpan pada direktory ini dan direktory anaknya yang dikenal oleh dunia web. Sebagai contoh, ketika Anda memasukkan sebuah le bernama a.txt pada direktory c:\inetpub\wwwroot, maka Anda akan bisa mengaksesnya melalui browser dengan mengetikkan http://localhost/a.txt yang secara otomatis akan menampilkan le a.txt.
118 Jasakom
LAMPIRAN A Jika Anda mempunyai le b.txt yang berada pada direktory c:\inetpub\wwwroot\test\b.txt, maka secara otomatis le tersebut bisa dilihat melalui browser dengan mengetikkan http://localhost/test/b.txt.
Default Documents Terkadang, ketika Anda mengetikkan sebuah alamat URL, Anda sama sekali tidak melihat nama le yang ditampilkan. Seperti contohnya, Anda bisa mengetikkan URL http://www.jasakom.com/ atau http://www.detik.com/ atau http://www.klikbca.com/, tidak ada keterangan nama le yang dibuka. Kenapa tidak ada nama le seperti yang telah saya contohnya sebelumnya ? Ada yang mengatakan le tersebut adalah index.htm, ada pula yang mengatakan bahwa le tersebut pastilah index.asp atau default.htm sehingga tidak perlu lagi ditampilkan namanya. Semuanya jawaban tersebut lebih banyak salahnya daripada benarnya. Setiap direktory web server, mempunyai apa yang dinamakan sebagai Default Document atau halaman default. Seandainya Anda tidak mengetikkan nama halaman yang hendak Anda tampilkan, maka secara otomatis akan digunakan halaman default ini.
W E B S E R V E R
Sebagai contohnya, ketika Anda mengetikkan http://www.jasakom.com/, Anda tidak meminta nama halaman untuk ditampilkan, hanya nama domain. Untuk itu, server jasakom akan secara otomatis membuka halaman yang telah ditentukan sebelumnya sebagai default document, yaitu index.aspx. Apakah harus default.aspx ? tidak ! Anda bisa mengatur halaman apa saja yang hendak dijadikan sebagai default document atau halaman default ini melalui menu : Control PanelaAdministrative toolsaInternet Informations Servicesanama komputer Anda(local computer)aWeb SitesaKlik kanan Default Web SitesaPropertiesaDocumentsaEnable Default Document (gambar A4)
119 Jasakom
LAMPIRAN A
R E V R E S B E W
Gambar a4. Halaman default
Pada contoh IIS XP, terlihat bahwa secara default, dokumen yang akan digunakan ketika Anda tidak memasukkan nama le adalah Default.htm. Seandainya, default.htm ini tidak ada di home direktory web server, maka akan digunakan halaman default ke dua yaitu default.asp. Jika tidak ada lagi, maka akan digunakan index.htm dan pilihan terakhirnya adalah le iistart.asp. Melalui menu ini, Anda bisa mengganti halaman default dan urutan halaman yang akan digunakan. Jadi halaman default di sini bisa apa saja dan untuk alasan keamanan, Anda bisa menggunakan nama yang tidak biasa seperti js1208.htm, dan lain sebagainya.
Alamat IP, Localhost atau 127.0.0.1 ? Pada contoh, terkadang saya memberikan contoh dengan mengetikkan http://localhost, terkadang dengan http://127.0.0.1, dan terkadang saya mengatakan ketikkan http://NomorIP_Anda. Apa beda semua alamat itu ?
120 Jasakom
LAMPIRAN A Alamat IP 127.0.0.1 adalah alamat IP khusus yang mengatakan “komputer ini” atau sering disebut menunjuk IP lokal. Maksudnya begini, setiap komputer yang mempunyai protokol IP akan mempunyai alamaat IP 127.0.0.1. Jadi komputer A, B, C dan D akan mempunyai alamat IP 127.0.0.1 yang menunjuk ke komputer mereka masingmasin. Alamat IP ini biasanya digunakan untuk troubleshooting masalah yang terjadi. Misalkan, teknisi biasa akan melakukan perintah ping 127.0.0.1 untuk memastikan bahwa protokol IP terinstall dengan baik. Contoh : C:\Documents and Settings\S’to>ping 127.0.0.1 Pinging 127.0.0.1 with 32 bytes of data: Reply from 127.0.0.1: bytes=32 time<1ms TTL=128 Reply from 127.0.0.1: bytes=32 time<1ms TTL=128 Reply from 127.0.0.1: bytes=32 time<1ms TTL=128 Reply from 127.0.0.1: bytes=32 time<1ms TTL=128 Ping statistics for 127.0.0.1: Packets: Sent = 4, Received = 4, Lost = 0 (0% loss), Approximate round trip times in milli-seconds: Minimum = 0ms, Maximum = 0ms, Average = 0ms
Apabila perintah ping 127.0.0.1 memberikan reply, artinya protokol IP terintall dengan baik. Perlu diperhatikan bahwa alamat 127.0.0.1 ini tidak menggunakan ethernet card yang Anda miliki. Artinya jika Anda bisa melakukan ping ke 127.0.0.1, belum tentu ethernet card Anda tidak ada masalah.
W E B S E R V E R
Alamat IP dari ethernet card yang berhubungan dengan komputer lain bisa Anda ketahui dengan perintah ipcong, seperti contoh berikut : C:\Documents and Settings\Jasakom>ipcong Windows IP Conguration
Ethernet adapter Local Area Connection: Connection-specic DNS Sufx
.
: localdomain
IP Address. . . . . . . . . . . . : 192.168.1.1 Subnet Mask . . . . . . . . . . . : 255.255.255.0 Default Gateway . . . . . . . . . :
Terlihat bahwa alamat IP yang digunakan oleh ethernet card adalah 192.168.1.1 dan alamat inilah yang digunakan untuk berkomunikasi dengan komputer lain.
121 Jasakom
LAMPIRAN A Lalu bagaimana dengan localhost ? Ketikkan perintah ping localhost seperti berikut ini : C:\Documents and Settings\S’to>ping localhost Pinging m40-p545 [127.0.0.1] with 32 bytes of data: Reply from 127.0.0.1: bytes=32 time<1ms TTL=128 Reply from 127.0.0.1: bytes=32 time<1ms TTL=128 Reply from 127.0.0.1: bytes=32 time<1ms TTL=128 Reply from 127.0.0.1: bytes=32 time<1ms TTL=128 Ping statistics for 127.0.0.1: Packets: Sent = 4, Received = 4, Lost = 0 (0% loss), Approximate round trip times in milli-seconds: Minimum = 0ms, Maximum = 0ms, Average = 0ms
R E V R E S B E W
Terlihat bahwa komputer akan menerjemahkan localhost menjadi 127.0.0.1. Jadi ketika Anda mengetikkan http://localhost dan mengetikkan http://127.0.0.1, hasilnya adalah sama. Jika Anda ingin mengetahui kenapa harus localhost atau bisakah diganti dengan nama lain, jawabannya adalah bisa ! Pada saat Anda mengetikkan sebuah nama pada jaringan IP, sebenarnya komputer akan mencoba menanyakan terlebih dahulu kepada le \windows\system32\etc\hosts. Jadi ketika Anda mengetikkan www.jasakom.com, komputer akan menanyakan terlebih dahulu kepada le hosts, “hei hosts, kamu tau nga alamat www.jasakom.com ? kalau kamu tidak tau, saya baru akan menanyakannya kepada DNS”. Berikut adalah contoh isi le hosts: C:\WINDOWS\system32\drivers\etc>type hosts # Copyright (c) 1993-1999 Microsoft Corp. # # This is a sample HOSTS le used by Microsoft TCP/IP for Windows.
# # This le contains the mappings of IP addresses to host names. Each
# entry should be kept on an individual line. The IP address should # be placed in the rst column followed by the corresponding host name.
# # # # # # #
The IP address and the host name should be separated by at least one space. Additionally, comments (such as these) may be inserted on individual lines or following the machine name denoted by a ‘#’ symbol. For example:
122 Jasakom
LAMPIRAN A # # #
102.54.94.97 38.25.63.10
127.0.0.1 192.168.1.11
rhino.acme.com x.acme.com
# source server # x client host
localhost www.jasakom.com
Anda bisa lihat bahwa terdapat sebuah baris yang mengatakan bahwa alamat 127.0.0.1 dinamakan sebagai localhost. Saya juga membuat sebuah baris yang mengatakan 192.168.1.11 adalah www.jasakom.com. Dengan cara inilah, beberapa percobaan yang mengharuskan penggunaan nama domain bisa dilakukan tanpa harus benar-benar terkoneksi ke internet ! Pembahasan tentang web server pada bagian ini sangatlah jauh dari kata lengkap, bahkan tidak layak dikatakan sebagai sebuah pembahasan. Pada bagian ini saya hanya menunjukkan pengetahuan dasar. Apabila Anda hendak mendalami tentang web server, belilah buku yang khusus membahas tentang ini. Ada banyak hal yang menarik tentang web server yang tidak dibahas disini seperti setting keamanan, virtual direktory, optimasi, dan lain sebagainya.
W E B S E R V E R
123 Jasakom
Blank
Dapatkan Buku Best Seller Hacking Penulis : S’to
Buku-buku yang diterbitkan oleh http://www.jasakom.com/penerbitan
jasakom
bisa
didapatkan
di
toko-toko
buku
terdekat
ataupun
secara
online
di
: