Secara semantik, web didefinisikan menjadi Data yang direpresentasikan di world wide web ( Tim Berners-Lee, James Hendler, Ora Lassila. Scientific American,May 2001). Adapun hacking didefinisikan menjadi Tindakan di luar otoritas atau tindakan mematahkan/membobol mekanisme keamanan sebuah sistem informasi atau sistem jaringan (Http://www.tsl.state.tx.us/ld/pubs/compsecurity/glossary.html). Jadi, singkatnya web hacking dapat diartikan Tindakan menerobos mekanisme keamanan dari suatu sistem yang direpresentasikan dalam world wide web. 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. 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: 1. Wanna Be A Hacker ( ingin menjadi seorang hacker ). 2. Mendapatkan popularitas. 3. Ingin mendapat pujian. 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. secara umum ada empat (4) langkah sederhana yang biasanya dilakukan, yaitu: 1. Membuka akses ke situs. 2. Hacking root (superuser) 3. Menghilangkan jejak. 4. Membuat backdoor (jalan belakang), untuk masuk di kemudian hari. Secara singkat proses hacking dilakukan melalui beberapa proses terlebih dulu, seperti hal-nya dinas intelejen, yang dilakukan dalam tiga (3) tahapan besar, yaitu, 1. footprinting 2. port scanning 3. network enumeration Footprinting untuk mengetahui seberapa besar scope / wilayah serangan bisa dilihat dari berbagai file HTML perusahaan tsb, perintah whois, host, dig, nslookup pada Linux untuk melihat scope host yang perlu di serang / di amankan. Port Scanning untuk melihat servis apa saja yang ada di mesin-mesin tersebut, topologi jaringan dsb. bisa dilakukan menggunakan perintah ping, traceroute, nmap, strobe, udp_scan, netcat di Linux & terakhir Cheops untuk melakukan network mapping. Network Enumeration sistem operasi yang jalan di server target apakah Windows NT/2000 / Linux / Netware. Program seperti snmputil, enum, dumpsec, showmount, rcpinfo, finger menjadi sangat “handy”. DefaceSitus: melakukan perubahan pada halaman web depan pada situs-situs tertentu, biasanya aktifitas ini dilakukan oleh para hacker atau cracker dengan gerakan undergroundnya sebagai sebuah cyber gang fight untuk mengganggu informasi yang dimunculkan pada halaman situs yang dimaksud. Beberapa deface yang pernah terjadi adalah ketika pada akhir tahun 2002 seiring dengan isu warga Indonesia di Australia, sehingga beberapa situs Australia mengalami serangan ini. Begitu juga ketika perebutan Ambalat antara Indonesia dengan Malaysia, beberapa situs Malaysia pun mengalaminya, peristiwa penyerbuan karena kasus Ambalat ini disebut dengan e-ganyang. Beberapa Alasan Defacing. 1. Dendam atau perasaan gak puas* 2. Kenikmatan tersendiri, 'defacer' merasa tertantang 3. Intrik politik, Sosial dsb 4. Penyampaian pesan tertentu 5. Iseng karena gak ada kerjaan dan pengen ngetop 6. prestice dalam golongan full of page artinya mendeface Satu halaman penuh tampilan depan alias file index atau file lainnya yang akan diubah (deface) secara utuh, Untuk melakukan ini seorang 'defacer‘ harus berhubungan secara 'langsung' dengan box (mesin) atau usaha mendapatkan priveleged terhadap mesin, baik itu root account dan lainnya. umumnya dengan memanfaatkan kelemahan pada services services yang berjalan di mesin, sehingga dapat melakukan pengaksesan ke mesin. Sebagian atau hanya menambahi artinya, defacer mendeface suatu situs tidak secara penuh, bisa hanya dengan menampilkan beberapa kata, gambar atau penambahan script script yang mengganggu, hal ini umumnya hanya akan memperlihatkan tampilan file yang di deface menjadi kacau dan umumnya cukup mengganggu. Defacer biasanya mencari celah baik dari kelemahan scripting yang digunakan dengan XSS injection (bisa merefer ke artikel yang di buat oleh theday at http://ezine.echo.or.id) , bisa dengan SQL atau database injection dan juga beberapa vulnerabilities yang seringkali ditemukan pada situs situs yang dibangun dengan menggunakan CMS (content Manajemen System) contoh XSS dapat dilihat di http://forum.echo.or.id bagian proof of concept disitu terdapat beberapa contoh XSS dan metoda lainnya yang ditujukan untuk "pendidikan" saja 1. <internal> a. Kesalahan konfigurasi cara menanggulanginya : Ada baiknya berhati hati dalam mengkonfigurasi, sesuaikan semua kebutuhan dengan peripheral + SDM yang dimiliki untuk dapat dihasilkan semua policy yang dahsyat! b. kelalaian admin Faktor internal kedua adalah manusia yang menggelola server tersebut: adapun jenis kelalaian yang dapat terjadi adalah : install file & folder webmaster atau admin biasanya lalai dalam menghapus file yang digunakan untuk menginstallasi portal web model CMS. Contoh : folder /install,dan file install.php pada phpnuke, postnuke, phpbb, dsb untuk menanggulanginnya : ada baiknya seorang administrator membaca manual (kerjaan admin!!) modul CMS yang di gunakan dan melakukan uji silang (cross check) alias "posisikan anda sebagai attacker" install file & folder webmaster atau admin biasanya lalai dalam menghapus file yang digunakan untuk menginstallasi portal web model CMS. Contoh : folder /install,dan file install.php pada phpnuke, postnuke, phpbb, dsb untuk menanggulanginnya : ada baiknya seorang administrator membaca manual (kerjaan admin!!) modul CMS yang di gunakan dan melakukan uji silang (cross check) alias "posisikan anda sebagai attacker" file konfigurasi & permision webmaster atau admin lupa mengatur permisi pada file file konfigurasi yang penting, yang menyangkut administrasi dan konfigurasi file, khususnya file-file yang mencatat password, baik password database dsb. Contoh : file config.txt, config.php, config.inc untuk menanggulanginya : biasanya di gunakan perintah chmod pada file dan folder chown dan chattr run of date Terlalu lama peng-update-an suatu web atau tidak secara terus-terusan. untuk menanggulanginya : anda cuma perlu rajin rajin dan rutin menggunjungi situs situs yang menyediakan update dari packet yang digunain. run of services terlalu banyak menjalankan layanan yang tidak diperlukan pada setiap server. services ===> port cara menanggulanginya : Audit semua sistem anda sebelum di 'launch' cek semua services yang berjalan dan sesuaikan dengan kebutuhan! run of services terlalu banyak menjalankan layanan yang tidak diperlukan pada setiap server. services ===> port cara menanggulanginya : Audit semua sistem anda sebelum di 'launch' cek semua services yang berjalan dan sesuaikan dengan kebutuhan! cannot keep secret Berkaitan dengan "social engineering", maka kepercayaan adalah hal terpenting, "TRusT NO BODY" mungkin pilihan yang sangat masuk akal dalam menanggulangi hal ini. cara menanggulanginya : keep your own secret alias "inget man!! lo tu admin! bukan tukang gosip yang EMBERRRR" :P Kurang berhati-hati saat login ke mesin dsb Sniffing yang dilakukan dari jaringan lokal sangat berkemungkinan untuk mendapatkan password yang di pakai oleh r00t, admin, webmaster dsb. cara menanggulanginya : setting server anda untuk menolak melakukan login baik remote dan lokal untuk tidak menggunakan, gunakan perintah substitute. untuk login secara remote upayakan penggunaan SSH dan SSL, beberapa konfigurasi mungkin dapat berguna untuk menanggulanginya, baik konfigurasi pc yang boleh akses remote baik berdasar ip, konfigurasi di jaringan, firewall dsb a. Penghianatan Beberapa individu yang mungkin terkena : 1) Administrator 2) Second Admin /Staff 3) WebMaster 4) User yang terdapat di mesin Server cara menanggulanginya : Jaga kerahasiaan dan jangan mengumbarnya pada siapapun. 2. <eksternal> a. sofware vulnerabilities Software vulnerabilities disini adalah kelemahan, atau kesalahan yang dimiliki oleh software/program yang dipakai baik secara sengaja atau tidak sengaja. cara menanggulanginya : rajin browsing untuk menggunjungi situs resmi software software yang anda gunakan , baca berita 'security' buatlah ikatan antara diri anda dengan komunitas opensource yang kamu pakai secara khusus dan komunitas opensource secara umum. Sehingga kamu gak merasa di tinggalkan. jangan takut!! bisa jadi kebocoran itu ditemukan tetapi dlam waktu cepat juga bisa ditemukan 'obatnya'. lakukan semua langkah langkah penting, apakah menonaktifkan fiture atau fasilitas tertentu yang dijalankan; yang diketahui 'bolong' dan belum dimiliki atau di temukan patchnya. atau diskusikan!! you have the community now! 2. <eksternal> b. sistem vulnerabilities cara menanggulanginya : 1) seperti biasa pergi ke situs penyedia sistem operasi (kernel) untuk info dan patch yang disediakan 2) ke situs-situs 'security , cari kelemahannya usahakan melakukan penanggulangan semampunya. 3) Diskusikan di komunita c. run of control suatu kesulitan untuk melakukan Kontrol terhadap beberapa metoda serangan tertentu oleh administrator , hal ini bisa dikarenakan penggunaan beberapa fasilitas atau metode serangan yang cukup relatif sulit untuk di elakkan. serangan-serangan ini sangat umum di ketahui, diantaranya: a. Brute forcing b. Dictionarry attack c. DOS attack d. Sniffing. 1. Mencari kelemahan pada sistem security, menemukan celah yang dapat dimasuki untuk melakukan eksplorasi di server target. Dia akan melakukan scanning tentang sistem operasi, service pack, service yang enable, port yang terbuka, dan lain sebagainya. Kemudian dianalisa celah mana yang bisa dimasuki. 2. Melakukan penyusupan ke server korban. Teknik ini dia akan menggunakan beberapa tools, file yang akan disisipkan, file exploit yang dibuat sengaja untuk dicopy-kan. Setelah berhasil masuk , tangan-tangan defacer bisa mengobok-obok isi server. Karena itu sebelum situs anda digerayangi seyogyanya melakukan langkah-langkah preventif sebagai berikut : Rutin melakukan update, upgrade dan patch pada sistem operasi dan aplikasiaplikasi yang dipakai. Memeriksa ulang dan memperbaiki konfigurasi pada sistem operasi, web server dan aplikasi lainnya. Menganalisa kembali service-service yang aktif, matikan jika tidak perlu. Mengatur jadwal untuk melakukan backup data penting, file konfigurasi sistem, database, sehingga jika sewaktu-waktu terjadi deface, anda tinggal menggunakan data backup. Melindungi server dengan firewall dan IDS. Kedua tools ini ampuh untuk mengatasi serangan Denial of service(DoS) attack. Selalu memperhatikan hal-hal yang mencurigakan pada server, baca log system operasi, log web server ataupun log aplikasi. Melakukan vulnerability scanning secara rutin, juga melakukan private security test. Netcat merupakan tools yang banyak dipakai para hacker. Kepopulerannya terlihat dari hasil survey lebih dari 1000 pengguna Nmap pada tahun 2000 dan 2003 yang menempatkannya pada urutan 5 besar, yaitu urutan ke 2 pada tahun 2000 dan urutan ke 4 pada tahun 2003. Tools ini sering disebut sebagai "TCP/IP Swiss Army Knife"-nya para hacker. Versi orisinalnya ditulis untuk sistem operasi Unix oleh Hobbit ([email protected]) pada tahun 1995. Versi Windows NT dikerjakan oleh Weld Pond ([email protected]). Fitur dari Netcat antara lain adalah: Dapat mebangun koneksi Outbound dan inbound dengan TCP atau UDP, di dan dari port mana saja. Dapat membaca argumen pada command line dari standar input Full DNS forwarding/reverse checking Kemampuan untuk menggunakan any local source port Kemampuan menggunakan any locally-configured network source address Tersedia port scanning secara built-in Dan lain-lain Dengan fitur di atas, banyak para hacker dan pengelola sistem memanfaatkan untuk melakukan hal-hal sebagai berikut: Scanning port dan menginventori service-service yang terpasang pada server File transfer Pengujian dan simulasi terhadap server Pengujian terhadap firewall, proxy dan gateway Pengujian performance network Pengujian address spoofing Banner grabbing server harus secara berkala di-update dengan sercvice pack dan hotfix terbaru. Lebih baik lagi kalau situs e-commerce itu juga dilindungi oleh firewall dan IDS ( intrusion detection system ). 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. Sebab terjadinya SQL Injection adalah tidak adanya penanganan terhadap karakter – karakter tanda petik satu ’ dan juga karakter double minus — yang menyebabkan suatu aplikasi dapat disisipi dengan perintah SQL. Sehingga seorang Hacker menyisipkan perintah SQL kedalam suatu parameter maupun suatu form. Peran logika sangat diperlukan disini. SQL Injection juga bisa di sisipkan dalam parameter URL. Seperti kasus situs KPU yang di hack dan nama partai nya diubah menjadi nama-nama yang lucu. Pelaku penyerangan menyusupkan perintah SQL: “UPDATE nama_table SET nama_partai bla..bla..” lewat URL browsernya. • Batasi panjang input box (jika memungkinkan), dengan cara membatasinya di kode program, jadi si cracker pemula akan bingung sejenak melihat input box nya yang tidak bisa diinject dengan perintah yang panjang. • Filter input yang dimasukkan oleh user, terutama penggunaan tanda kutip tunggal (Input Validation). • Matikan atau sembunyikan pesan-pesan error yang keluar dari SQL Server yang berjalan. • Matikan fasilitas-fasilitas standar seperti Stored Procedures, Extended Stored Procedures jika memungkinkan. • Ubah “Startup and run SQL Server” menggunakan low privilege user di SQL Server Security tab. Adapun scripting language di sisi server ASP (Active Server Pages) Suatu program yang mengolah script program dalam lingkungan server yang selanjutnya diserahkan ke client. ASP ini digunakan untuk membagun suatu halaman web secara dinamis atau untuk membangun suatu sistem berbasis web. JSP (Java Server Pages) Java Server Pages (JSP) merupakan sebuah tenologi servlet-based yang digunakan pada web tier untuk menghadirkan dynamic dan static content. JSP merupakan text-based dan kebanyakan berisi template text HTML yang digabungkan dengan spesifik tags dynamic content. PHP (Personal Home Page) PHP adalah suatu bahasa server-side yang didesain khusus dengan aplikasi web.coding PHP dapat disisipkan diantara bahasa HTML dan karna bahasa server side, maka bahasa PHP akan dieksekusi oleh server, sehingga yang dikirimkan kebrowser adalah “hasil jadi” dalam bentuk HTML sehingga kode PHP tidak akan dapat anda lihat. Berikut ini adalah kode HTML dari suatu login form : username: input name=user type=text width=20> password: input name=pass type=password width=20>