Kelompok 5 - Keamanan Jaringan Komputer

53
MAKALAH KEAMANAN WEB SERVER Makalah ini disusun untuk memenuhi salah satu tugas mata kuliah Keamanan Jaringan Komputer Disusun Oleh : Agus Setiawan (17120116) Arif Cahya A.S (17120109) Imam Jati (17120002) Naufal Faris( 17120125) Salman Topiq (17120079) Fakultas Teknik Jurusan Teknik Informatika

description

Web hacking

Transcript of Kelompok 5 - Keamanan Jaringan Komputer

MAKALAHKEAMANAN WEB SERVER

Makalah ini disusun untuk memenuhi salah satu tugasmata kuliah Keamanan Jaringan Komputer Disusun Oleh :Agus Setiawan (17120116)Arif Cahya A.S (17120109)Imam Jati (17120002)Naufal Faris( 17120125)Salman Topiq (17120079)

Fakultas Teknik Jurusan Teknik InformatikaUniversitas BSI Bandung2015Kata PengantarPuji dan syukur kami panjatkan kehadirat Tuhan Yang Maha Kuasa, khalik langit dan bumi. Karena dengan penyertaannya kami dapat menyelesaikan makalah ini. Shalawat serta salam tercurahkan pada junjungan Nabi Muhammad SAW.Makalah ini disusun untuk memenuhi tugas matakuliah Keamanan Jaringan Komputer, Universitas Bina Sarana Informatika Bandung semester VI.Terima kasih kami sampaikan kepada Bapak Ricky Firmasyah selaku dosen matakuliah Keamanan Jaringan Komputer atas bimbingannya, juga kepada teman-teman yang memberikan kritik dan saran mengenai makalah ini.Dalam makalah ini mungkin terdapat banyak kekurangan yang tidak sengaja penulis melakukannya. Oleh karena itu, penulis maklum dan meminta saran dan kritiknya untuk hasil yang lebih baik lagi.Akhir kata semoga makalah ini dapat bermanfaat bagi kita semua, Amin.

Daftar IsiKata Pengantar1Daftar Isi2BAB I Pendahuluan41.1 Latar belakang41.2 Tujuan Penulisan51.3 Metode Penulisan51.4 Sistematika Penulisan5BAB II Pembahasan 72.1 Web Hacking72.2 Deface82.3 Teknik deface92.4 Netcat112.4.1. Cara / Proses Pengoprasian Netcut122.4.2. Cara mengatasi atau mencegah serangan NetCut152.5 Mengamankan server IIS dari deface152.6 SQL Injection 202.6.1. Pengertian SQL Injection202.6.2. SQL 202.6.3. Cara Hacking dengan Tehnik SQL Injection menggunakan Havij SQL Injector 212.7 JavaScript: Client Side Scripting252.8 KelemahanDasar HTML Form272.9 Mencari informasi mengenai web server282.10 Tool untuk memeriksa vulnerabilities31BAB III Penutup 36 3.1 Kesimpulan36Daftar Pustaka37

BAB IPENDAHULUANWorld Wide Web merupakan salah satu cara yang paling penting bagi suatu organisasi untuk mempublikasikan informasi, berinteraksi dengan pengguna internet, dan membangun keberadaan ecommerce/e-goverment. Namun demikian, jika suatu organisasi tidak tepat dalam mengkonfigurasikan dan mengoprasikan situs Web nya, kemungkinan situs web tersebut akan rawan terhadap berbagai macam ancaman keamanan. Situs web yang dapat disajikan sebagai pintu masuk secara ilegal ke dalam jaringan internal organisasi. Organisasi dapat kehilangan data sensitif atau bahkan sistem jaringan komputernya menjadi tidak berfungsi. Contohnya adalah serangan danial of service (DoS) dapat membuat para pengguna sulit atau bahkan tidak bisa mebuka situs Web organisai. Web Server juga merupakan software server yang menjadi tulang belakang dari World Wide Web (WWW). Web server menunggu permintaan dari client yang menggunakan browser seperti netscape navigator, Internet Explorer, modzilla, dan program browser lainnya. Jika ada permintaan dari browser, maka web server akan memproses permintaan itu dan kemudian memberikan hasil prosesnya berupa data yang diinginkan kembali ke browser. Data ini mempunyai format yang standar disebut dengan format SGML (Standard General Markup Language).1.1 Latar BelakangMasalah keamanan merupakan salah satu aspek penting dari sebuah sistem informasi. Sayang sekali masalah keamanan ini sering kali kurang mendapat perhatian dari para pemilik dan pengelola sistem informasi. Seringkali masalah keamanan berada di urutan kedua, atau bahkan di urutan terakhir dalam daftar hal-hal yang dianggap penting. Apabila mengganggu performansi dari sistem, seringkali keamanan dikurangi atau ditiadakan.Informasi saat ini sudah menjadi sebuah komoditi yang sangat penting. Bahkan ada yang mengatakan bahwa kita sudah berada di sebuah information-based society. Kemampuan untuk mengakses dan menyediakan informasi secara cepat dan akurat menjadi sangat esensial bagi sebuah organisasi, baik yang berupa organisasi komersial (perusahaan), perguruan tinggi, lembaga pemerintahan maupun individual (pribadi). Hal ini dimungkinkan dengan perkembangan pesat di bidang teknologi komputer dan telekomunikasi. Dahulu, jumlah komputer sangat terbatas dan belum digunakan untuk menyimpan hal-hal yang sifat sensiti. Penggunaan komputer untuk menyimpan informasi yang sfatnya classified baru dilakukan di sekitar tahun 1950-an.Sangat pentingnya nilai sebuah informasi menyebabkan seringkali informasi diinginkan hanya boleh diakses oleh orang-orang tertentu. Jatuhnya informasi ke tangan pihak lain (misalnya pihak lawan bisnis) dapat menimbulkan kerugian bagi pemilik informasi. Sebagai contoh, banyak informasi dalam sebuah perusahaan yang hanya diperbolehkan diketahui oleh orang-orang tertentu di dalam perusahaan tersebut, seperti misalnya informasi tentang produk yang sedang dalam development, algoritma-algoritma dan teknik-teknik yang digunakan untuk menghasilkan produk tersebut. Untuk itu keamanan dari sistem informasi yang digunakan harus terjamin dalam batas yang dapat diterima.1.2 Tujuan PenulisanTujuan penulisan dari makalah ini adalah untuk memenuhi tugas yang diberikan, untuk membahas mengenai keamanan web server dan mengetahui kelemahan yang terdapat pada web server maka langkah-langkah untuk mengatasi kelemahan ini dapat dilakukan.1.3 Metode PenulisanMakalah ini ditulis berdasarkan beberapa referensi yang didapatkan dari literatur mengenai keamanan web server.1.4 Sistematika PenulisanMakalah ini terdiri dari 3 bab, yaitu :BAB I : PENDAHULUANBab ini berisi latar belakang, tujuan penulisan, metode penulisan dan sistematika penulisan dari makalah Keamanan Web Server.BAB II : PEMBAHASANBab ini berisi konsep Keamanan Web Server seperti web hacking, Deface, Teknik deface, Netcat, Mengamankan server IIS dari deface, SQL injection, Kelemahan dasar HTML Form dan Tool untuk memeriksa vulnerabilities.BAB III : PENUTUPBab ini berisi kesimpulan dan saran dari makalah Keamanan Web Server.

BAB IIPEMBAHASAN1. 2. 2.1. Web HackingWeb hacking terdiri dari 2 suku kata yaitu Website dan Ilegal Access yang masing-masing mempunyai arti yaitu :a. Ilegal Acces(Akses Tanpa Ijin ke Sistem Komputer)Dengan sengaja dan tidak berhak, melakukan akses secara tidak sah terhadap seluruh ataupun sebagian dari sistem komputer orang lain. Dengan maksud untuk mendapatkan data dan informasi ataupun maksud-maksud untuk memperoleh keuntungan lainnya. Biasanya kejahatan ini terjadi pada suatu sistem komputer yang di hubungkan dengan sistem komputer lain (network). Salah satu kejahatan ini yang sangat sering terjadi, dikenal dengan sebutan Hacking. (Sanusi, 2010)b. Pengertian WebsiteWebsite adalah keseluruhan halaman-halaman web yang terdapat dalam sebuah domain yang mengandung informasi. Sebuah website biasanya di bangun atas banyak halaman web yang saling berhubungan. Hubungan antara satu halaman web satu dengan yang lainnya di sebut hyperlink, sedangkan teks yang di jadikan media penghubung desebut hypertext. Domain adalah nama unix yang dimiliki oleh sebuah institusi sehingga bisa di akses melalui internet. (Yuhefizar, 2009)

Jadi dapat disimpulkan bahwa web hacking adalah singkatnya web hacking dapat diartikan Suatu tindakan menerobos mekanisme keamanan dari suatu sistem yang direpresentasikan dalam world wide web. (cgeduntuksemua, 2010)Siapa yang Melakukan Web Hacking? Menerobos mekanisme keamanan suatu jaringan, bukanlah tindakan yang gampang untuk dilakukan. Jadi, siapakah pelaku web hacking tersebut? Seiring perkembangan internet yang benar-benar pesat dan diiringi perkembangan security dan underground, membuat siapa saja dapat menjadi pelaku. Tidak ada keharusan bahwa pelaku web hacking adalah orang yang pintar komputer dan internet, atau lain sebagainya.Mengapa Melakukan Web Hacking? Jika semua bisa menjadi pelaku web hacking, tentu Ada alasan jika sampai melakukannya dan pertanyaan adalah Mengapa? Jika pertanyaannya adalah Mengapa, biasanya jawabannya adalah Karena. Ada banyak alasan orang melakukan web hacking, diantaranya adalah: - Wanna Be A Hacker ( ingin menjadi seorang hacker ). - Mendapatkan popularitas. - Ingin mendapat pujian. Alasan-alasan tersebut di atas cukup bisa dicerna logika. Kapan dan Dimana? Internet merebak harum di Indonesia, bisa dikatakan mulai pada hitungan tahun 90-an. Internet yang sebelumnya merupakan sebagai hal yang mustahil untuk dirasakan oleh rakyat kelas bawah, semakin terjangkau dengan laris manisnya bermunculan warnet (warung internet). Ada ujaran yang mengatakan Kejahatan ada karena ada kesempatan. Ujaran tersebut mungkin belum dapat ditujukan kepada pelaku web hacking. Dengan banyaknya kehadiran warnet bahkan ada yang buka 24 jam, membuat web hacking dapat dilakukan kapan saja dan dimana saja, tanpa harus menunggu waktu. Bagaimana Web Hacking Dilakukan? Bagaimana seseorang melakukan web hacking? Internet sudah hampir menjangkau segala sisi kehidupan yang ada di dunia ini. Informasi mengenai web hacking dapat anda temukan dengan berselancar ke Google. Google, search engine yang terkenal menjawab pertanyaan Bagaimana. Dengan memasukkan kata (keyword) pada baris isian pencarian maka anda akan dibawa ke tempat-tempat yang berhubungan dengan web hacking. Anda tinggal memilih dan menyaringnya.

2.2. DefaceMenurut (Adelheid, 2013), Deface adalah melakukan pewajahan ulang pada halaman website, baik itu index atau direktori lainnya. Deface kerap juga digunakan oleh para hacker untuk memberitahukan admin bahwa sistusnya sudah mempunyai celah.Menurut (Stiawan, 2006), Web Defacing digunakan untuk mengubah halaman depan atau isi suatu sistus web sehingga tampilan atau isinya berubah dari yang aslinya. Biasanya hal ini memanfaatkan sisi kelemahan dari web server atau melalui bug Unicode Microsoft Internet Information Server (IIS).Web Defacing adalah suatu kegiatan untuk mengubah tampilan suatu website, baik halaman utama atau index filenya, ataupun halaman lain yang masih terikat dalam satu URL dengan website tersebut (Studio, 2008).Serangan dengan tujuan utama merubah tampilah sebuah website baik halaman utama maupun halaman lain terkait dengannya diistilahkan sebagai Web Defacement. Hal ini biasa dilakukan oleh para attacker atau penyerang karena merasa tidak puas atau tidak suka kepada individu, kelompok, atau entitas tertentu sehingga website yang terkait dengannya menjadi sasaran utama.

2.3. Teknik defaceBila sebelumnya sudah membuat shell ke dalam server target, maka untuk melakukan deface merupakan hal yang sangat mudah. Kalau belum bisa membuat shell ke dalam server, kita buat dulu shell nya.Shell atau backdoor adalah pintu belakang untuk masuk ke dalam sistem apabila suatu celah yang biasa digunakan untuk masuk (pintu depan) sudah di patching. Shell biasanya dapat di upload dengan mudah pada situs berbasis cms Joomla. Jika Anda sudah mendapatkan username dan password control panel target, Anda bisa langsung memasang shell ke direktori yang Anda inginkan. Nantinya shell ini akan berguna untuk meng-explore semua yang ada di folder hostingan situs target.

Cara menggunakan shell :1. Menempatkan shell c99

2. Untuk menuju direktori utama, masuk ke httpdocz pada kolom Go Dir > Go.

3. Klik index.php. Karena kita akan mengedit tampilan halaman index.

4. Klik EDIT untuk mengedit file.

5. Ketikan kode-kode html yang anda inginkan. Seperti kode html berikut :

6. Maka jika siapapun melihat halaman index.php, hasilnya akan seperti gambar di bawah ini.

2.4. NetcutNetcut sering disebut-sebut sebagai alat atau software untuk menghack atau mengetahui password dari orang, tetapi bukan itu yang kami maksud dalam materi ini.Istilah netcut diambil dari kata Net yang artinya internet, dan Cut yang dalam bahasa inggrisnya yaitu memotong. Jadi pengertian Netcut itu sendiri adalah memotong jaringan internet. Dimana orang yang menggunakan jaringan internet seperti Wi-Fi / LAN, jaringgan yang digunakan pengguna dapat dipotong menggunakan software ini.Dalam penggunaanya, software ini mempunyai beberapa kelebihan dan kekurangan, adapun kelebihan dan kekurangan dari software ini yaitu :Kelebihan :1. Proses pengoperasian internet sangat cepat2. Jaringan Wi-Fi / LAN Anda kuasai, 3. Loading dalam membuka situs / web sangat cepat (tergantung dari sinyal Wi-Fi / LAN ), dll

Kekurangan :1. Software ini sering mengalami gangguan / hang apabila ada PC yang on line atau PC yang off line2. Jika memory pada PC standard, menyebabkan PC menjadi lemot / lama dalam proses pangoperasian3. Harus sabar dalam mengoperasikannyaSoftware ini selain memiliki kelebihan dan kekurangan, efek yang di hasilkan dari software ini sangat buruk bagi orang laen. Adapun efek yang di timbulkan dari software ini yaitu :1. Gangguan pada jaringan2. Proses lama3. Sering mengalami problem pada halaman / error4. Lemot / lama pada saat mendownload, dll

2.4.1. Cara / Proses Pengoprasian NetcutSekilas cara kerja netcut :1. Netcut menjadikan laptop/komputernya sebagai gateway. Sehingga pengguna NetCut bebas menentukan siapa yang berhak masuk jaringan tersebut dan siapa yang harus keluar.2. Bekerja berdasarkan ARP Spoofing. Sehingga kita dapat mengelabui AP (Access Point) dengan Mac address salah satu Client yang terkoneksi dengan AP tersebut, dan mendapatkan IP private untuk koneksi ke Internet. Misalkan, Client A ingin melakukan komunikasi kepada Client B. Tetaapi , tiba-tiba Client C (pengguna NetCut) mengganggu komunikasi Client A, sehingga Client C memiliki akses dan hak yang sama persis dengan Client A.Cara menggunakan NetCut1. Install NetCut dan Technetium MAC Address Changer.

Gambar 1 Tampilan NetCut2. Jika IP dan Host Name belum terdeteksi maka klik "Choice NetCard":

Gambar 2 Mencari daftar client yang berada di jaringan3. Jika langakah ke-2 sudah dilakukan otomatis akan keluar daftar IP dan Host yang terhubung ke jaringan atau hotspot.

Gambar 3 Daftar IP dan Host pada SSID atau Hotspot4. Kemudian Pilihlah IP mana yang ingin kalian Cut/Putuskan, setelah itu pilih Cut Off. Maka akan menghasilkan:

Gambar 4 Kertika Cut off dipilih5. Perbedaan antar IP yang sudah di Cut dengan yang tidak:

Gambar 5 Perbedaan hasil Cut Off6. Jika yang sudah di Cut maka bagian sebelah kanan akan tertuliskan Off jika belum akan tertuliskan On

7. Buka Technetium MAC Address Changer yang telah terinstal sebelumnya, dan isikan MAC Addres Client yang telah di cut off. Agar kita dapat mengelabui AP dan tersambung ke Internet.

Gambar 6 Tampilan Technetium MAC Address Changer2.4.2. Cara mengatasi atau mencegah serangan NetCut

Penggunaan NetCut tidaklah asing bagi para Hacker oleh karena itu kitapun harus membentengi diri agar orang lain tidak mengganggu aktifitas jaringan kita dengan NetCut Defender.

2.5. Mengamankan server IIS dari defaceSalah satu hal penting yang harus kita perhatikan adalah bahwa web server bawaan microsoft berupa IIS adalah software yang langsung bisa dipakai ketika kita selesai menginstalasinya. Kemudahan bawaan ini memberikan 2(dua) sisi implikasi dimana satu sisinya adalah kemudahan bagi pemakai dan sisi lainnya adalah kemudahan bagi hacker untuk memasukinya. Proses pengamanan terhadap web server memakan banyak sekali aspek internal dan external, misalkan saja masalah operating system, setting hak akses, setting keamanan aplikasi yang digunakan, autentikasi password, dll. Menurut (Harian Investor Indonesia, 2002) ,ada beberapa cara secara umum untuk mengamankan web server dari sisi Microsoft IIS:

Tidak Menggunakan Direktory BawaanKecuali anda mempunyai satu alasan yang sangat kuat, jangan gunakan direktori default dari windows seperti \WINNT untuk instalasi sistem operasi anda dan \inetpub untuk digunakan sebagai direktori web server anda. Dengan mengubah direktori default ini, akan menyusahkan hacker untuk memasukin atau mencari file perantara yang sering digunakan seperti cmd.exe yang berada pada direktori \winnt\system32. Beberapa file yang sering digunakan juga terdapat pada direktory \inetpub seperti untuk membaca source code, dll. Untuk merubah direktory web server anda, gunakan menu dari "Internet Information Services" dari group menu "Administrative Tools".

Hapus Direktori ContohSecara bawaan, microsoft memberikan satu web server contoh yang telah di isi dengan beberapa macam fungsi. Maksudnya adalah agar pemakai dimudahkan dalam mempelajari menggunakan web server ini. Tapi yang selalu menjadi masalah adalah direktori contoh ini selalu mengandung sesuatu file fungsi yang digunakan oleh hacker untuk melakukan eksploitasi terhadap web server, apalagi anda menggunakan direktori default pada saat instalasi. Untuk itu adalah satu keharusan bagi anda untuk menghapus direktori contoh ini : IIS Samples c:\inetpub\iissamples(\IISSamples) IIS Documentation c:\winnt\help\iishelp(\IISHelp) Data Access c:\program files\common files\system\msadc(\MSADC)

Menghapus Semua Mapping Script Yang Tidak DigunakanTerkadang kita selalu berfikir bahwa "mungkin" dimasa mendatang saya akan menggunakan fungsi ini dan fungsi ini dengan program tertentu, tapi itu hanyalah persiapan yang tidak ada gunanya. Karena untuk mengaktifkan dan mematikan support terhadap dukungan teknologi semudah membalikkan telapak tangan anda. Untuk itu, matikan semua dukungan script yang tidak anda gunakan sekarang, sebagai contohnya dukungan print melalui internet pada script .printer yang sudah terbukti digunakan hacker untuk masuk ke komputer yang aktif pada dukungan teknologi ini. Bahkan yang saya lihat adalah semua komputer yang dimasukin oleh hacker-hacker ini, sebenarnya tidak menggunakan atau bahkan tidak tahu adanya teknologi ini.Untuk menghapus mapping script ini anda bisa melakukannya melalui Administrative Tools -> Internet Information System -> Default Web Site -> Properties -> Home Directory -> Configuration -> App Mapping.Beberapa fungsi dari mapping ini contohnya adalah : Web-based password reset .htr Internet Database Connector .idc Server-side Includes .stm, .shtm, and .shtml Internet Printing .printer Index Server .htw, .ida and .idq

Setting Hak Akses Yang PerluBanyak administrator yang pemula mengeset semua hak akses menjadi administrator untuk menghindari hak akses yang dibatasi. Tentunya ini menimbulkan suatu kelemahan yang sangat besar karena tidak semua atau bahkan banyak yang tidak memerlukan hak akses yang diberikan. Contohnya user yang hanya melakukan baca tapi diberikan hak akses tulis. Karena itu dalam setting web server, Anda direkomendasikan untuk membedakan direktori berdasarkan jenis atau type file yang digunakan. Dengan demikian pula anda bisa mengeset security berdasarkan hak akses dari file tersebut. Beberapa rekomendasi seperti berikut bisa anda gunakan sebagai patokan yang direkomendasikan juga oleh microsoft melalui microsoft technet.

Type File ACL CGI (.exe, .dll, .cmd, .pl) Everyone (X) Administrators (Full Control) System (Full Control) Script files (.asp) Everyone (X) Administrators (Full Control) System (Full Control) Include files (.inc, .shtm, .shtml) Everyone (X) Administrators (Full Control) System (Full Control) Static content (.txt, .gif, .jpg, .html) Everyone (R) Administrators (Full Control) System (Full Control)Deface banyak terjadi pada situs e-commerce web yang menggunakan MS IIS. Ini dikarenakan adanya bug pada IIS yang dikenal sebagai Unicode bug. Dengan adanya bug ini seseorang dapat mengakses command line shell cmd.exe pada server keluarga Windows NT. Kelemahan IIS ini sempat ramai dibicarakan orang karena banyaknya korban. Mengakses server dengan memanfaatkan Unicode bug itu sendiri dilakukan melalui service http ( port 80 ), port yang pasti dibuka untuk memberikan layanan web.

Pada kasus, setelah berhasil masuk ke sistem, pelaku web hacking menggunakan tool TFTP untuk melakukan transfer terhadap halaman web dengan desain kreatif yang dimilikinya untuk mengubah tampilan web target. Untuk mengamanankan sever IIS dari deface ,1. Server harus secara berkala di-update dengan sercvice pack dan hotfix terbaru.2. Lebih baik lagi kalau situs e-commerce itu juga dilindungi oleh firewall dan IDS ( intrusion detection system ). 3. Melindungi dengan firewall dan IDS (intrusion detection system).4. Menghilangkan Opsi write pada Protokol HTTP (HTTP 1.0 atau HTTP 1.1)5. Perintah-perintah yang didukung HTTP 1.0 dan HTTP 1.1 (CONNECT*, DELETE*, GET, HEAD, OPTIONS, POST, PUT, TRACE).

Tapi semua itu ternyata belum menjamin keamanan situs ecommerce dari deface. Seperti pada contoh kasus kita, ternyata setelah semua usaha di atas, ternyata masih terkena deface juga.Walaupun kini deface yang terjadi tidak terlalu mempunyai nilai seni, tetapi tetap efektif. Bagaimana hal ini bisa terjadi? Hal ini dapat terjadi karena setting pada protokol HTTP 1.0 atau HTTP 1.1 yang merupakan protokol utama untuk web itu sendiri, yaitu adanya opsi untuk dapat membaca dan menulis lewat protokol-protokol ini. HTTP 1.0 RFC 1945 (http://www.ietf.org/rfc/rfc1945.txt) Finalized May 1996 Didukung oleh sebagian besar Web server dan browser HTTP 1.1 RFC 2616 (http://www.ietf.org/rfc/rfc2616.txt) Finalized 2001 Standard Baru Komunikasi Web Beberapa perintah HTTP 1.0 1. GET Untuk mengambil informasi dari sistem, seperti halaman html GET /default.htm HTTP/1.0 2. HEAD Untuk mengambil informasi mengenai system HEAD HTTP/1.0 (untuk menentukan OS/WEB) 3. POST Mengirimkan Informasi ke sistem 4. Perintah-perintah yang didukung HTTP 1.1. (CONNECT*, DELETE*, GET, HEAD, OPTIONS, POST, PUT, TRACE).

Dengan memanfaatkan hanya perintah-perintah dasar dari HTTP, seorang hacker dapat men-deface suatu situs web. Berikut ini adalah perintah-perintah yang dijalankannya: 1. OPTIONS * HTTP/1.1 2. PUT /file.ext HTTP/1.1 3. Host: hostname 4. Content-Length: jumlah karakter data yang dikirim Terlihat bahwa hal ini terjadi karena setting server yang tidak sempurna. Untuk itu perlu dilakukan beberapa hal: Setting untuk menulis dari HTTP dihilangkan Menggunakan security template dari Microsoft, NSA, dan lain sebagainya. Menggunakan berbagai dokument setting server agar aman

2.6. SQL Injection2.6.1. Pengertian SQL Injection

SQL injection adalah sebuah aksi hacking yang dilakukan di aplikasi client dengan cara memodifikasi perintah SQL yang ada di memori aplikasi client. SQL Injection merupakan teknik mengeksploitasi web aplikasi yang didalamnya menggunakan database untuk penyimpanan data. Pada sistem database dengan menggunakan SQL, perintah-perintah dapat dimasukkan sesuai yang diinginkan oleh pengguna walaupun pengguna tersebut bukan yang berwenang akan hal itu. Perusakkan yang dilakukan oleh pengguna tersebut yang bisa menimbulkan akibat fatal - dapat dilakukan dengan menggunakan SQL injection. Pada tulisan ini akan dijelaskan bagaimana SQL injection dapat masuk ke dalam sistem pemograman database dan kiat-kiat untuk menangani hal tersebut.1. 2. 2.1. 2.2. 2.3. 2.4. 2.5. 2.6. 2.6.1. 2.6.2. SQLSQL kependekan dari Structured Query Language, bahasa yang sering dipergunakan untuk mengelola database relasional. Terdapat beberapa jenis SQL, salah satunya adalah SQL-92. Merujuk kepada ANSI (American National Standar Institute), maka SQL adalah bahasa standar untuk sistem manajemen database rasional. Beberapa system database yang menggunakan SQL antara lain: Oracle,DB2, sybase, MS SQL Server, Informix, Ingres, Interbase, PostgreSQL, MySQL, MS Acces. Walaupun semua database yang disebutkan menggunakan SQL, kebanyakan mereka memiliki perintah tambahan yang proprietary (hanya ada dan berlaku pada sistem sendiri). SQL sendiri memiliki 3 macam jenis perintah : 1. Data Defenition Language (DDL) Merupakan kelompok perintah yang digunakan untuk melakukan pendefenisian database dan pendefenisian tabel. Dengan kelompok perintah dalam DDL ini maka kita dapat membuat tabel, mengubah strukturnya, menghapus tabel, membuat indeks untuk tabel, dan lain-lain yang bermuara pada pembentukan struktur database. 2. Data Manipulation Language (DML) Perintah (statement) SQL digunakan untuk melakukan manipulasi data dalam database, menambahkan (insert), mengubah (update), menghapus (delete), mengambil dan mencari data (query). Perintah SQL standar seperti: select, insert, update, delete, create, dan drop. Dapat digunakan untuk menyelesaikan tugas yang diberikan berhubungan dengan data suatu database.3. Data Control Language (DCL) Termasuk dalam DCL adalah perintah untuk melakukan pendefenisian pemakai yang boleh mengakses database dan apa saja privilegenya. Fasilitas ini tersedia pada sistem manajemen database yang memiliki fasilitas keamanan dengan membatasi pemakai dan kewenangannya. Pada tulisan ini akan dijelaskan TransactSQL, bahasa SQL yang terdapat pada Microsoft SQL Server. Berikut ini adalah query pada SQL yang sering digunakan dalan SQL injection : Insert INSERT INTO namatabel (field1 [, field2 [,]]) VALUES (nilai1 [,nilai2 [,]]); Select SELECT{*| field1 [, field2 [,]]} FROM namatabel [where kondisi];2.6.3. Cara Hacking dengan Tehnik SQL Injection menggunakan Havij SQL Injector

1. Install Havij SQL Injector

Gambar 1 Tampilan Havij2. Tentukan target, target berupa halaman website yang ingin anda Hack. Contoh disini saya ambil target: http://beeindia.in/content.php?page=schemes/schemes.php?id=1 . Untuk menentukan website tsb vulnurable atau tidak, kita beri karakter ' di url terakhir menjadi http://beeindia.in/content.php?page=schemes/schemes.php?id=1' . (Vulnerability bisa berupa tulisan error pada syntax dan bisa berupa tampilan yang berbeda dari sebelumnya).

3. Kita masukkan target tersebut kedalam kolom target No 1, terus liat dilangkah No 2, terlihatkan nama databasenya, kemudian kalo udah berhasil klik table yang sudah saya tandai dengan nomer No 3.

Gambar 2 Langkah Menggunakan Havij

4. Jika sudah diklik, maka tampilannya akan seperti dibawah ini. Lalu jika sudah, klik kembali Get Tables, lihat gambar dibawah.

Gambar 3. Langkah Menggunakan Havij5. Akan ada banyak sekali table-table yang terbuka. Kita harus mencari dimana Admin & passwordnya berada. Di sini saya menebak user dan passwordnya ada ditable web_users.

Gambar 3.4. Proses mencari User Admin dan Password6. Selanjutnya tinggal beri tanda Cheklist pada data yang ingin anda ambil. Saya tandai dengan No 1, lalu klik Get Data.

Gambar 3.5 Proses pengambilan data7. User dan Password terlihat,tetapi masih terenkripsi dengan MD5. Anda tidak perlu menggunakan tools tambahan karena Havij telah dilengkapi dengan fasilitas MD5 Description

Gambar 3.6 Data yang diperoleh

2.7. JavaScript: Client Side ScriptingCLIENT SIDE SCRIPTING(CSS) adalah Script yang diterjemahkan disisi client dimana script tersebut akan langsung dikirimkan ke browser client tanpa harus diterjemahkan oleh web server. Jadi, ketika seseorang berkunjung ke sebuah web, komputernya akan mendownload data/script yang bersifat client-side di web tersebut.Clien Side, semua program yang diminta oleh browser akan dieksekusi dari server tersebut, pengunjung hanya mendapat informasi dari hasil olahannya, sistem ini lebih aman daripada Clien Side. Ketika seseorang ingin melihat suatu website, maka website yang bertipe ini akan sepenuhnya di download dan diproses di komputer masing-masing sehingga siapapun yang melihat website kita bisa mengambil seluruh Script yang ditulis oleh pembuatnya, hal tersebut merupakan suatu kelemahan tersendiri, yaitu orang yang berniat jahat bisa dengan mudah mengotak-atik website kita dengan lebih mudah. Web yang menggunakan program ini biasanya website statis. Contohnya Script HTML, Java Script, txt, dll, namun sayangnya script ini dapat dibaca oleh client dengan fasilitas "view souerce" pada browser, tapi salah satu keuntungannya transfer data dapat lebih cepat dibandingkan dengan script side server. Pengolahan disini berarti di terjemahkan/ interpreted. Yang memiliki tugas untuk menterjemahkan, script jenis ini disisi client adalah web browser. agar semua script yang masuk kategori ini dapat diterjemahkan oleh web browser maka di dalam web browser terdapat sebuah komponen/modul/ engine yang memiliki daftar pustaka (library) yang mampu mengenali semua perintah-perintah yang terdapat pada kategori client side scripting. Berikut contoh web browser yang populer digunakan: internet explorer, mozilla firefox, opera, safari. Berikut adalah contoh client side scripting: HTML (hypertext markup language), java script, XML (extensible markup language), CSS (cascading style sheet). Client side scripting merupakan script yang digunakan untuk membuat halaman web statis.Client-side script mempengaruhi berat-tidaknya loading sebuah website yang tergantung pada kecepatan loading & spesifikasi komputer serta koneksi internet penggunanya. Client-side script meliputi kode-kode yang ditampilkan ketika anda mengklik kanan pada sebuah halaman web dan melihat sumber halaman (View Page Source). Client side scripting, merupakan jenis script yang pengolahannya dilakukan di sisi client. Pengolahan disini berarti di terjemahkan/ interpreted. yang memiliki tugas untuk menterjemahkan script jenis ini disisi client adalah web browser. Agar semua script yang masuk kategori ini dapat diterjemahkan oleh web browser maka didalam web browser terdapat sebuah komponen/ modul/ engine yang memiliki daftar pustaka (library) yang mampu mengenali semua perintah-perintah yang terdapat pada kategori client side scripting. Berikut contoh web browser yang populer digunakan: internet explorer, mozilla firefox, opera., safari. berikut adalah contoh client side scripting: HTML (hypertext markup language), java script, XML (extensible markup language), CSS (cascading style sheet). Client side scripting merupakan script yang digunakan untuk membuat halaman web statis.Pengertian pemrograman client-side adalah metode pembuatan aplikasi yang memungkinkan pemrosesan dilakukan di sisi client (komputer pengguna), jadi kebalikan dari server-side. Contoh dari Client-side Script adalah HTML, CSS, JavaScript, Jquery dan XML. Client Side merupakan teknologi webpage yang menerapkan jenis pemrograman web dimana semua sintaks dan perintah program dijalankan di web browser sehingga ketika client meminta dokumen yang mengandung script, script tersebut akan diambil dari web server kemudian dijalankan di web briwser yang bersangkutan. Contoh dari Client Side Programming seperti : Java Script, VbScript, HTML.Karakteristik client side scripting :1. Kode program didownload bersama dengan halaman web2. Bersifat interpreter dan diterjemahkan oleh browser3. Model eksekusinya simple dan skrip dapat dijadikan satu dengan HTMLUntuk mempelajari bahasa pemrograman berbasis Client Side Scripting, kita hanya membutuhkan Web editor (contoh: Notepad, Adobe Dreamweaver, Ms. FrontPage, dsb) dan Browser (contoh : Mozilla Firefox, Google Chrome, Internet Explorer, dsb).Berikut cara kerja Client Side:Pengunjung web mengklik salah satu link dari web dan browser membaca perintah pengunjung untuk memangil alamat web yang dituju. Setelah itu browser akan mengalihkan ke halaman yang dituju oleh pengunjung web.

2.8. Kelemahan Dasar HTML FormForm biasanya digunakan untuk mengumpulkan data dari pengunjung web kita. Mulai dari form untuk login, form kontak, form untuk pendaftaran user, bahkan untuk menirimkan data antar halaman web. Penggunaan form hanya menggunakan HTML saa tidak akan terlau berguna. Form biasanya hanya berupa interface yang disediakan untuk mengumpulkan data dari user, dan akan diproses dengan bahasa pemrograman web seperti JavaScript atau PHP dan disimpan disimpan didalam table.Formulir dalam format HTML (HTML Form) adalah tampilan yang digunakan untuk menampilkan jendela untuk memasukkan username dan password. Setiap HTML form harus menggunakan salah satu metode pengisian formulir, yaitu GET atau POST. Kelemahan script html yaitu menggunakan parameter GET dan POST untuk metode pengisian sebuah form. Masalahnya dengan menggunakan GET, variabel yang digunakan akan terlihat pada kotak URL, yang memungkinkan pengunjung langsung memasukkan karakter pada form process, selain juga perintah GET dibatasi oleh string sepanjang 2047 karakter. Variabel juga dapat diambil dengan Request QueryString. POST biasa digunakan untuk mengirim data dalam jumlah besar ke aplikasi di sisi server, sehingga tidak menggunakan URL query string yang terbatas. POST juga lebih aman sebab variabel tidak terlihat oleh pengunjung, sehingga lebih sulit dimainkan lewat perubahan nama variabel. Namun variabel tetap dapat diambil dengan RequestForm.

2.9. Mencari informasi mengenai web serverSebagai Web Developer ataupun Website Administrator terkadang kita ingin mengetahui jenis web server yang digunakan oleh suatu website. Seperti yang kita ketahui bahwa cukup banyak jenis web server yang populer digunakan di internet.Berdasarkan survey yang dilakukan Netcraft pada tahun 2010, Apache Web Server mendominasi jagat internet dengan penggunaan sebesar 53,93%. Diikuti oleh IIS Web Server milik Microsoft sebesar 24,97%. Dua web server ini adalah yang paling banyak digunakan di internet.Ada 2 metode untuk mengetahui web server yang digunakan sebuah website.a. Metode Pertama: test Apache error .htaccessCara ini adalah cara tercepat untuk mengetahui apakah suatu website menggunakan web server apache atau IIS. Sebagai catatan cara ini tidak selalu berhasil menampilkan informasi web server yang digunakan, tapi patut dicoba. Jika cara ini gagal untuk mengetahui informasi web server, coba metode kedua. Berikut langkah-langkahnya:Step 1: Sebagai contoh kita ingin mengetahui web server apa yang digunakan oleh www.swimsmooth.com. Jalankan web browser yang biasa anda gunakan seperti: Chrome, Mozilla Firefox, dllStep 2: Di address bar browser anda, ketik URL home page + .htaccess. Berikut contoh lengkap penulisan di address bar: http://www.swimsmooth.com/.htaccessStep 3: Tekan Enter dan lihat hasil yang ditampilkan. By default, Apache web server akan menampilkan halaman forbidden error 403, karena .htaccess tidak dapat diakses secara publik. Kemudian akan ditampilkan informasi web server yang digunakan seperti gambar berikut:

Gambar 1Dari gambar diatas jelas terlihat bahwa www.swimsmooth.com di hosting menggunakan Apache Web Server, karena forbidden error 403 akan menambahkan Apache Server Tag dibawahnya.Contoh lainnya, mari kita coba www.dotnetspider.com. Menggunakan "test Apache error .htaccess" akan menampilkan seperti gambar berikut:

Gambar 2Gambar diatas menampilkan bahwa www.dotnetspider.com dihosting menggunakan IIS Web Server.

b. Metode Kedua: Menggunakan online tool.

Menggunakan online tool http://web-sniffer.net/Step 1: Akses URL http://web-sniffer.net/Step 2: Di bagian HTTP(S)-URL, ketik URL lengkap website yang akan diperiksa. Sebagai contoh kita akan coba cari tahu web server yang digunakan oleh dagang.com. Ketik URL: http://www.dagang.com/.Step 3: Pilih HTTP/1.1. di bagian HTTP Version.Step 4: Pilih "GET" dan set user agent dengan "Web-Sniffer."Step 5: Klik "Submit.".Sekarang perhatikan hasilnya dibawah HTTP Response Header dan lihat value Server:. Dagang.com menggunakan Apache web server karena di value tertulis "Apache".Web-sniffer adalah tool yang cukup handal dan bisa melacak selama website tersebut masih online. Menggunakan online tool Netcraft.Keunggulan menggunakan Netcraft adalah tidak hanya menampilkan web server yang digunakan, tapi juga mampu menampilkan Sistem Operasi yang digunakan.Step 1: akses http://uptime.netcraft.com/up/Step 2: Di bagian Whats that site running?", masukkan nama domain spt: dagang.comStep 3: Klik search. Hasilnya akan ditampilkan seperti gambar berikut:

Gambar 3Data di atas menampilkan bahwa dagang.com running di Sistem Operasi Linux, menggunakan Apache web server dan record tercatat dari 8 Maret 2005. Namun, untuk saat ini Sistem Operasi yang digunakan tidak dapat diketahui.

2.10. Tool untuk memeriksa vulnerabilitiesVulnerability atau celah keamanan adalah suatu kelemahan yang mengancam nilai integrity, confidentiality dan availability dari suatu aset. Vulnerability tidak hanya berupa software bugs atau kelemahan security jaringan. Namun kelemahan seperti pegawai yang tidak ditraining, dokumentasi yang tidak tersedia maupun prosedur yang tidak dijalankan dengan benar. Vulnerability biasa dikategorikan ke dalam tiga bagian, yaitu kelemahan pada system itu sendiri, jalur akses menuju kelemahan sistem, serta kemampuan dari seorang hacker untuk melakukan attacking. (Hanif Santoso, dkk)Berikut ini adalah 10 celah tersebut:1) Injection, Injeksi kelemahan, seperti SQL, OS dan injeksi Lightweight Directory Access Protocol (LDAP) terjadi ketika data yang tidak dipercayadikirim ke penerjemah sebagai bagian dari suatu perintah atau query.Data yang dikirim penyerang dapat mengelabui penerjemah dalam menjalankan perintah yang tidak disengaja atau mengakses data yang tidak sah.2) Broken Authentication and Session Management, Fungsi aplikasi yang berhubungan dengan pembuktian dan pembahasan manajemen seringkali tidak diterapkan dengan benar, sehingga memungkinkan penyerang membahayakan password, kunci, sesi token atau mengeksploitasi kelemahan implementasi lainnya untuk memperoleh identitas pengguna lain.3) Cross-Site Scripting (XSS), Kelemahan XSS terjadi ketika aplikasi mengambil data yang tidak dipercaya dan mengirimkannya ke web browser tanpa validasi atau pengesahan yang tepat atau tanpa jalan keluar.XSS memungkinkan penyerangan untuk mengeksekusi naskah atau tulisan dalam membaca korbannya yang mana dapat membajak sesi pengguna, merusak situs web, atau mengarahkan pengguna ke situs berbahaya.4) Insecure Direct Object References, Sebuah referensi objek langsung terjadi ketika pengembang mengekspos referensi ke suatu objek dalam implementasi, seperti file, petunjuk, atau tombol database. Tanpa pemeriksaan kontrol akses atau perlindungan lainnya atau penyerang dapat memanipulasi referensi-referensi ini untuk mengakses data yang tidak sah.5) Security Misconfiguration, Keamanan yang baik membutuhkan adanya konfigurasi keamanan didefinisikan dan digunakan untuk aplikasi, kerangka kerja, aplikasi server, web server,database server, danplatform.Semua pengaturan ini harus didefinisikan,diimplementasikan dan dipelihara karena banyak yang tidak disertakan bersama konfigurasi default yang aman.Ini termasuk menjaga semua perangkat lunak up to date.6) Sensitive Data Exposure, Banyak aplikasi web tidak benar dalam melindungi data yang sensitive, seperti kartu kredit, id pajak dan pembuktian surat-surat berharga atau mandate.Penyerang dapat mencuri atau memodifikasi data yang lemah dilindungi tersebut untuk melakukan pencurian identitas, penipuan kartu kredit, atau kejahatan lainnya.Data sensitif layak mendapatkan perlindungan ekstra seperti enkripsi saat istirahat atau transit, serta tindakan pencegahan khusus bila ditukar dengan browser.7) Missing Function Level Access Control, Hampir semua aplikasi web memverifikasi fungsi tingkat hak akses sebelum membuat fngsi yang terlihat di UI. Namun, aplikasi perlu ditampilkan untuk memeriksa kontrol akses yang sama pada server ketika setiap fungsi diakses.Jika permintaan tidak diverifikasi, penyerang akan dapat melakukan permintaan mengakses fungsi yang tidak sah.8) Cross-Site Request Forgery, Sebuah serangan CSRF memaksa masuk ke browser korban untuk mengirim permintaan HTTP palsu, termasuk sesi cookie korban dan disertakan informasi otentikasi otomatislainnya. Untuk sebuah aplikasi web yang rentan.Ini memungkinkan penyerang untuk memaksa browser korban untuk menghasilkan serangan aplikasi yang menurutnya permintaan itu sah dari korban.9) Using Components with Known Vulnerabilities, Komponen yang rentan, seperti libraries, frameworks dan modul perangkat lunak lain hampir selalu berjalan dengan hak penuh. Jadi, jika dimanfaatkan, mereka dapat menyebabkan hilangnya data yang serius maupun pengambilalihan server.Aplikasi yang menggunakan komponen-komponen yang rentan dapat merusak pertahanan mereka dan memungkinkan berbagai serangan dan dampak yang buruk.10) Unvalidated Redirects and Forwards, Aplikasi web sering mengarahkan dan meneruskan pengguna ke situs halaman lain dan menggunakan data tidak dipercaya untuk menentukan halaman tujuan. Tanpa validasi yang tepat, penyerang dapat mengarahkan korban ke phising atau malware sites.Atau meneruskan untuk mengakses halaman yang tidak sah.

Contoh tool yang digunakan untuk memeriksa vulnerabiities suatu komputer diantara lain :1. Common Vulnerability and ExposureCVE menyediakan referensi mengenai vulnerability yang ada pada satu produk. CVE bisa dikatakan sebuah database mengenai setiap vulnerability yang di publish. CVE terdapat pada websitenya di http://cve.mitre.org/ . CVE ini di maintain oleh MITRE sebuah organisasi non-profit Jadi secara sederhana seperti ini cara kerja CVEChecker : kita akan melakukan inspeksi scanning terhadap operating system komputer kita (kita disini maksudnya kita sendiri yng akan melakukan scanning dengan menggunakan command find / -type f -perm -o+x > scanlist.txt di step yang ke-6), beserta aplikasi nya, lalu hasil scanning itu akan di cocokkan dengan database CVE yang ada menggunakan CVEChecker ini (itu terbukti dengan perintah update database CVE di step 5 nanti, kita mendownload db CVE dari tahun 2002 - 2011). Setelah kira-kira CVEChecker menemukan vulnerability yang ada pada komputer kita, CVEChecker akan memberitahukan hasilnya. Seperti itu

Berikut cara menggunakan CVEChecker untuk menemukan vulnerabilities : Install Aplikasi dependensinya terlebih dahulu :digit@digit-laptop:~$ sudo apt-get install libconfig8-dev libsqlite3-dev libxslt1-dev Download CVEChecker di http://sourceforge.net/projects/cvechecker/files/ (yang saya gunakan saat ini menggunakan versi 3.1 Extract CVE Checker :digit@digit-laptop:~$ tar -zxvf cvechecker-3.1.tar.gz Compile CVE Checker :digit@digit-laptop:~$ cd cvechecker-3.1digit@digit-laptop:~$ ./configure --enable-sqlite3digit@digit-laptop:~$ sudo makedigit@digit-laptop:~$ sudo make install Download database CVE :digit@digit-laptop:~$ sudo pullcves pull Generate List vulnerability yang ada di komputer kita :digit@digit-laptop:~$ find / -type f -perm -o+x > scanlist.txtdigit@digit-laptop:~$ echo "/proc/version" >> scanlist.txt Sekarang mencocokkan hasil scan dengan DB CVE :digit@digit-laptop:~$ cvechecker -b scanlist.txtdigit@digit-laptop:~$ cvechecker -r Export Hasilnya :digit@digit-laptop:~$ cvechecker -r -C

BAB IIIPENUTUP3.1. KesimpulanKetika sebuah web server dirancang untuk memudahkan para user sebaiknya dirancang juga dengan keamanannya yang bisa mengurangi terjadinya peluang bagi cracker maupun hacker untuk selalu melakukan hal-hal yang tidak diinginkan seperti halnya melakukan pemblokiran apalagi sampai memanipulasi database yang telah dirancang. Tidak bisa dipungkiri juga seorang cracker dapat mengetahui isi dari password ataupun hal yang penting bagi kita.Dengan ditingkatkan keamanan dalam sebuah web server maka sebuah website akan merasa terlindungi dari seorang cracker maupun hacker.

Daftar Pustaka(2002, Desember). Harian Investor Indonesia , p. 10.Adelheid, A. (2013). 1 Hari Menjadi Hacker. Jakarta: mediakita.cgeduntuksemua. (2010, 1 1). Pengertian dan Jenis Web Hacking. Retrieved 5 26, 2015, from http://cgeduntuksemua.blogspot.com/: http://cgeduntuksemua.blogspot.com/2012/05/pengertian-dan-jenis-web-hacking.htmlisma-ismi. (2015, 1 1). Pengertian Web server. Retrieved 5 26, 2015, from http://isma-ismi.com/: http://isma-ismi.com/pengertian-web-server.htmlSanusi, M. (2010). The Genius Hacking Sang Pembobol Data. Jakarta: PT Elex Media Komputindo.Stiawan, D. (2006). Sistem Keamanan Komputer. Jakarta: PT Elex Media Komputindo.Studio, D. J. (2008). Teknik Menjebol Password Untuk Pemula. Jakarta: PT Gramedia.Supardi, I. Y. (2010). Web my profile dengan Joomla 1.5.x. Jakarta: PT Elex Media Komputindo Kompas - Gramedia.Yuhefizar. (2009). CMM Website Interaktif MCMS Joomla(CMS). Jakarta: PT Elex Media Komputindo.

13 | Page