APLIKASI WEB VULNERABILITY SCANNER UNTUK SERANGAN SQL INJECTION MEMANFAATKAN GOOGLE DORK “INURL” TUGAS AKHIR - APLIKASI WEB VULNERABILITY SCANNER UNTUK SERANGAN SQL INJECTION MEMANFAATKAN GOOGLE DORK “INURL”

  

APLIKASI WEB VULNERABILITY SCANNER UNTUK

SERANGAN SQL INJ ECTION MEMANFAATKAN GOOGLE

DORK “INURL”

  

Oleh :

MASYITHA

0834010155

  

J URUSAN TEKNIK INFORMATIKA

FAKULTAS TEKNOLOGI INDUSTRI

UNIVERSITAS PEMBANGUNAN NASIONAL “VETERAN”

J AWA TIMUR

  

2012

  

APLIKASI WEB VULNERABILITY SCANNER UNTUK

SERANGAN SQL INJ ECTION MEMANFAATKAN GOOGLE

DORK “INURL”

  Diajukan Untuk Memenuhi Sebagian Per syar atan Dalam Memper oleh Gelar Sar jana Komputer

  J ur usan Tek nik Infor matika

  

Oleh :

MASYITHA

0834010155

  

J URUSAN TEKNIK INFORMATIKA

FAKULTAS TEKNOLOGI INDUSTRI

UNIVERSITAS PEMBANGUNAN NASIONAL “VETERAN”

J AWA TIMUR

  

2012 ABSTRAKSI

  Hingga saat ini tindakan penyerangan pada suatu web semakin tinggi. Sering

terlihat di media cetak,dan media elektronik begitu banyak berita yang memuat aksi-

aksi penyerangan terhadap suatu situs web. Salah satu contoh faktor timbulnya

tindakan hacking adalah kesalahan dalam scripting pembuatan web adalah hal

terbanyak yang dimanfaatkan oleh para attacker, sehingga rata-rata web yang

berhasil diserang melalui lubang ini. Kelemahan-kelemahan scripting yang

ditemukan pada proses vulnerabilities scanning misalnya, SQLi.

  Untuk mencegah tindakan tersebut dapat menggunakan jasa perusahaan audit

keamanan web. Dan tentunya akan menghabiskan banyak biaya, untuk menghindari

hal tersebut, dalam proyek akhir ini akan dibangun aplikasi web vulnerability

scanner yang berfungsi untuk mendeteksi suatu kelemahan web terhadap kelemahan

SQLi.

  Maka dengan menggunakan aplikasi web vulnerability scanner dapat

dideteksi suatu kelemahan web terhadap kelemahan SQLi dengan lebih dini sehingga

dapat dicegah. Kedepannya aplikasi ini dapat melihat isi dari database website yang

ditarget mempunyai kelemahan SQL Injection.

  .

  Kata kunci : SQLi ,Web Vulnerability Scanner.

  PEMBUATAN APLIKASI WEB VULNERABILITY SCANNER TERHADAP KELEMAHAN XSS (Cr oss Site Scr ipting) MENGGUNAKAN J AVA.

  Disu su n O leh :

M O C H AM A D T R I J O K O NP M . 0 534 0 1009 3

  T ela h d isetu ju i m eng iku t i Ujia n Ne gara L isa n Ge lo mb ang I T a hu n A kad em ik 2 0 1 0 / 201 1

  Pemb imb ing Ut ama Pemb im b ing Pe nd amp in g Ac hmad J u naid i, S.Ko m Chr yst ia Aji P, S.Ko m,

  NPT . 3 788 110 4 4019 9 NPT . 3861 0100 29 61 Meng etahu i,

  Ketu a Pr o gr am Stud i Sistem Info r mas i Un iv er sita s Pemb angu nan Nasio nal ”Veter a n” J awa T im u r

  Basu ki Rah mat, S.Si, MT NPT . 36907060209 L E M BAR P E NG E SAH AN PEMBUATAN APLIKASI WEB VULNERABILITY SCANNER TERHADAP KELEMAHAN XSS (Cr oss Site Scr ipting) MENGGUNAKAN J AVA.

  Disu su n O leh :

M O C H AM A D T R I J O K O NP M . 0 534 0 1009 3

  Telah dipertahankan di hadapan dan diterima oleh Tim Penguji Tugas Akhir Jurusan Teknik Informatika Fakultas Teknologi Industri

  Universitas Pembangunan Nasional “Veteran” Jawa Timur Pada Tanggal Februari 2010

  Pembimbing : Tim Penguji : 1.

  1 Achmad Ju naid i, S.Ko m Ir. Edi Purnomo Sasongko, MP

  N PT. 3 7811040199

  NIP. 1 96 407 1 4198 80 31 001

  2

  2 C hr yst ia A ji P , S.Ko m , Barry Nuqoba, S.Si, M.Kom NPT . 3861 0100 29 61 3.

  Achmad Ju naid i, S.Ko m NPT . 2 78 8110 4401 99

  Mengetahui Dekan Fakultas Teknologi Industri

  Universitas Pembangunan Nasional “Veteran” Jawa Timur Surabaya

  Ir. Sutiyono, MT KATA PENGANTAR Alhamdulillah, dengan mengucapkan puji dan syukur kehadirat Allah

  SWT atas rahmat dan hidayah-Nya sehingga penulis dapat menyelesaikan tugas akhir ini dengan judul “APLIKASI WEB VULNERABILITY SCANNER UNTUK SERANGAN SQL INJECTION MEMANFAATKAN GOOGLE DORK ”INURL”.

  “yang merupakan persyaratan dalam memperoleh gelar Sarjana Komputer di Universitas Pembangunan Nasional “VETERAN” Jatim.

  Penulis mengucapkan terima kasih yang sebesar-besarnya kepada pihak- pihak yang telah membantu baik materiil maupun dorongan spirituil untuk menyelesaikan penulisan tugas akhir ini, terutama kepada: 1. Bapak Prof. Dr. Ir. Teguh Soedarto, MP, selaku Rektor UPN “Veteran” Jatim.

  2. Bapak Ir. Sutiyono, MT, selaku DEKAN FTI UPN “VETERAN” Jatim.

  3. Ibu Dr.Ir.Ni Ketut Sari, MT selaku Ketua Jurusan Teknik Infomatika UPN “VETERAN” Jatim.

  4. Bapak Hudan Studiawan, S.Kom, M.Kom selaku Dosen Pembimbing yang telah meluangkan waktu untuk memberikan bimbingan selama proses pelaksanaan Tugas Akhir penulis.

  5. Special to: Orang Tua dan keluarga tercinta atas motivasi dan doanya sehingga semua yang dikerjakan dapat berjalan lancar.

  6. Dosen-dosen Teknik Informatika, staff dan segenap civitas akademika UPN “VETERAN” Jatim.

  7. My best Friends: JOHN FAMILIEZ (Tini, Lebrina, Elly, Mita, Muji, Arvian, Awal), MAKCOMM (Fillah, Ika, Tika) dan tak lupa juga untuk seluruh teman-teman TF angkatan 2008.Tidak lupa penulis ucapkan terima kasih kepada teman-teman yang tidak dapat disebutkan satu persatu atas segala bantuannya dalam menyelesaikan Tugas Akhir ini.

  Penulis menyadari sepenuhnya masih banyak terdapat kekurangan dalam penulisan Tugas Akhir ini. Oleh sebab itu kritik serta saran yang membangun dari pembaca sangat membantu guna perbaikan dan pengembangan di masa yang akan datang.

  Akhirnya dengan ridho Allah penulis berharap semoga Tugas Akhir ini dapat memberikan manfaat bagi pembaca sekalian terutama mahasiswa di bidang komputer.

  Surabaya, Juni 2012 Penulis

  DAFTAR ISI Halaman

  HALAMAN JUDUL LEMBAR PENGESAHAN LEMBAR PENGESAHAN DAN PERSETUJUAN KETERANGAN REVISI MOTTO ABSTRAKSI…………………………………………………………… i KATA PENGANTAR .……………………………………………….… ii DAFTAR ISI …………………………………………………………… iv DAFTAR TABEL ……………………………………………………… vii DAFTAR GAMBAR …………………………………………………… viii

  BAB I PENDAHULUAN ……………………………………………. 1

  1.1 Latar Belakang ……………………………….................. 1

  1.2 Perumusan Masalah …………………………………….. 2

  1.3 Batasan Masalah ………………………………………... 2

  1.4 Tujuan …………………………………………………... 2 1.5 Manfaat ………………………..…………………….…..

  3

  1.6 Metodelogi Penelitian …………………………………... 3

  1.7 Sistematika Penelitian …………...…………….………… 4

  BAB II TINJAUAN PUSTAKA ……………………………….………. 6

  2.1 Web …………………………….……………………….

  2.8 Google Dork ...................................................................... 33

  47 BAB IV IMPLEMENTASI …………………………………..……….

  43 3.5 Perancangan Antar Muka ….………….…..……………..

  43 3.4.1 Proses Scanning ………………………………...

  42 3.4 Perancangan Proses ..........................................................

  42 3.4.1 Data Input Web vulnerability Berbasis Online ....

  42 3.3 Perancangan Data Input.. .................................................

  41 3.2 Perancangan Sistem ……..................................................

  40 3.1 Desain Sistem ……….......................................................

  2.10 Google Api ........................................................................ 37 BAB III PERANCANGAN ..................................................................

  2.9 Java Script ......................................................................... 35

  2.7 Flowchart ........................................................................... 32

  6 2.2 SQL injection ...................................…...……………….

  2.6.1 Cara Kerja Web Server …………...……………….. 31

  2.6 Web Server ........................................................................ 30

  2.5.1 Struktur HTML ....................................................... 29

  2.5 HTML (Hyper Text Markup Language) ........................... 28

  26

  14 2.4 MySQL ............................................................................

  2.2.3 Lokasi SQL Injecksion ............................................ 13 2.3 PHP ……………………………………….......................

  2.2.2 Mencari Target ........................................................ 12

  2.2.1 Default Setting SQL ………..…............................ 11

  10

  49

  4.1 Implementasi Sistem …………………………………….

  49 BAB V PENGUJIAN DAN ANALISA ………………….……….….

  53 5.1 Lingkungan Pengujian …………………………………..

  53 5.2 Uji Coba ………………………………..………………..

  53 5.2.1 Aplikasi Web Vulnerability Scanner …….…..…..

  54 5.2.2 Proses Scanning ………………...……………….

  55

  5.3 ANALISIS ………………………………………………

  63

  5.3.1 Analisis Scan SQL Injection ….…………….…… 64

  BAB VI PENUTUP…………………… ……………………...………. 65 6.1 Kesimpulan……… ……………………………………….

  65

  6.2 Saran……..……… ………………………………………. 65 DAFTAR PUSTAKA…………………… ……………………...………. 66

DAF TAR TABEL

  Halaman Tabel 2.1 Perbandingan Antara Web Statis Dengan Web Dinamis.....

  9 Tabel 2.2 Tipe Data Dalam My SQL.. ……………………….…...…

  27 Tabel 2.3 Simbol Flowchart …................…………………….…...…

  32

  DAF TAR GAMBAR

  Halaman

Gambar 2.1 Data Tipikal Untuk Halaman Web Yang Statis ……...……. 7

  s

Gambar 2.2 Contoh Alur Data Pada Halaman Web Yang Dinami .…… 10Gambar 2.3 Contoh Ilustrasi SQLi Pada admin login area .……………. 12Gambar 2.4 Cara kerja Web Server…………………………………....... 32Gambar 3.1 Perancangan Sistem Secara Global …………………….….. 41Gambar 3.2 Diagram Alur Scan SQLi ...................................................... 44Gambar 3.3 Hasil pencarian pada mesin bing bersarkan inputan

  Google dork ”inurl:article.php?id=” ...............................…... 45

Gambar 3.4 Website target belum terinjeksi ...…...................................… 46Gambar 3.5 Website target sudah terinjeksi ………………....................... 47Gambar 3.6 Antarmuka Aplikasi WVS.......................................….…….. 48Gambar 4.1 Tampilan Utama Aplikasi..………………………………….. 50Gambar 4.2 Tampilan laporan scan sql injection ....................................... 52Gambar 5.1 Halaman Utama Aplikasi WVS…..................….................... 54Gambar 5.2 Tampilan awal aplikasi …...........................................…….... 55

  Gambar 5.3a Proses Scanning ……............................................................. 56 Gambar 5.3b Proses Scanning ……......................................…................. 56

Gambar 5.4 Report Scanning ..........................….........................……..... 57Gambar 5.5 Tampilan Website Sebelum di Injeksi ....................……...... 58Gambar 5.6 Tampilan website sesudah di injeksi …………………........ 58Gambar 5.7 Proses scanning Google dork inurl:staff_id= .………......…. 59Gambar 5.8 Laporan scanning Google dork inurl:staff_id=…………….. 60Gambar 5.9 Tampilan website sebelum di injeksi....................................... 60Gambar 5.10 Tampilan website sesudah di injeksi........................................ 61Gambar 5.11 Proses scanning Google dork inurl:gallery.php?id=…………61Gambar 5.12 Laporan scanning Google dork inurl:gallery.php?id=……… 62Gambar 5.13 Tampilan website sebelum di injeksi....................................... 63Gambar 5.14 Tampilan website sesudah di injeksi........................................ 63Gambar 5.15 Halaman URL yang telah di injeksi......................................... 64

  BAB I PENDAHULUAN

  1.1 Latae Belakang Perkembangan dalam dunia maya terjadi sangat pesat. Teknologi baru dirancang dan diimplementasikan untuk memenuhi kebutuhan pengguna yang semakin beragam. Teknologi halaman web termasuk didalamnya. Teknologi yang ada kini telah revolusi menuju ke tingkatan yang berbeda. Halaman web kini tidak lagi statis namun juga dinamis. Kini halaman web yang dinamis merupakan pemandangan yang biasa dilihat ketika melakukan surfing menggunakan internet.

  Halaman web yang dinamis merupakan teknologi yang memberi perubahan penyediaan informasi, layanan, dan tampilan secara signifikan. Halaman web yang dinamis memungkinkan interaksi yang lebih baik antara penyedia layanan dengan penggunanya. Dengan menggunakan teknologi ini, halaman web akan terlihat lebih manusiawi. Penyedia layanan dapat menambahkan konten yang sebelumnya masih merupakan impian belaka.

  Dalam computer system security, istilah vulnerability merupakan suatu kelemahan yang memungkinkan seseorang untuk masuk dan mendapatkan hak akses ke dalam komputer yang dituju (target). Vulnerability adalah kelemahan yang dikarenakan kesalahan setting ataupun ketidaktahuan administrator.

  (Prayitno Ahmad, 2009) Hingga saat ini angka kejahatan di dunia maya tetap tinggi dan terus meningkat. Sebuah penelitian yang dilakukan oleh Corsaire menunjukkan bahwa sekitar 25% aplikasi berbasis web memiliki celah yang membuatnya jadi rentan

  2 terhadap serangan yang dilakukan oleh para cracker. Corsaire mendasarkan hasil temuan ini pada penelitian selama enam tahun terakhir.

  Dalam menganalisis, Corsaire menggunakan sampel dari perusahaan- perusahaan besar di beberapa tempat termasuk Inggris, Australia, Eropa, Asia dan tentu saja Amerika Serikat. Hasil analisis menunjukkan bahwa meski ada usaha untuk memperbaiki aplikasi berbasis web ini. Namun setidaknya masih ada sekitar 25% yang memiliki resiko tinggi.

  Menurut berita yang dilansir ITNews hari Selasa (09/12/08) disebutkan bahwa 25% aplikasi yang digolongkan dalam kategori resiko tinggi ini memiliki celah yang membuat aplikasi tersebut rentan terhadap serangan yang bisa mengakibatkan pencurian data dan pembobolan jenis lain. Sedangkan 75% sisanya masih dipecah lagi dalam kategori medium dan low yang artinya masih memiliki celah namun tak terlalu parah. Berikut merupakan data dari (Joe McCormack, 2009) tentang statistik serangan terhadap aplikasi Web:

  Ga mbar 1.1 Data Statistik Serangan terhadap Aplikasi Web Dari Gambar 1.1 diatas diketahui bahwa serangan XSS dan SQL Injection menempati urutan 2 besar. Para hacker berkonsentrasi melakukan eksploitasi pada

  3 web-web di internet. Web yang tidak aman memberikan kemudahan akses kepada

  hacker untuk memanipulasi informasi dan melakukan aktivitas ilegal dengan

  menggunakan situs yang telah diserang. Situs yang menjadi korban dapat disalahgunakan untuk melakukan aktivitas criminal. Misalnya saja melakukan

  phishing , pencurian informasi sensitif milik pengguna, memanen email pengguna

  untuk keperluan spamming, dan lain-lain. Dalam kondisi ini, attacker dapat membuat agar pemilik sah-nya yang bertanggung jawab atas tindak kejahatan tersebut.

  Para hacker telah memiliki banyak daftar serangan yang secara rutin dilakukan pada situs-situs di internet termasuk SQL Injection. Dan para hacker selalu memiliki update serangan-serangan terbaru terhadap situs-situs di internet.

  Dilatarbelakangi permasalahan di atas, dalam proyek akhir ini dibangun sebuah aplikasi yang berfungsi sebagai pendeteksi terhadap kelemahan SQL

  Injection pada suatu aplikasi web, sehingga dengan bantuan aplikasi tersebut suatu aplikasi web dapat dideteksi lebih dini terhadap kelemahan SQL Injection.

  Selain itu, aplikasi ini juga memberikan info letak kelemahan suatu web terhadap serangan SQL Injection. Dengan aplikasi ini, pengguna bisa mendeteksi apakah web memiliki kelemahan SQL Injection atau tidak.

  1.2 Rumusan Masalah Dari latar belakang masalah yang telah dipaparkan, maka akan dibangun aplikasi web vulnerability scanner untuk serangan SQL Injection memanfaatkan

  Google. Adapun beberapa rumusan permasalahan yang ada dalam membangun aplikasi web vulnerability scanner ini yaitu:

  4 a) Bagaimana membangun web vulnerability scanner berdasarkan data masukan dari pengguna untuk web vulnerability scanner berbasis online.

  b) Bagaimana mengolah informasi dan menampilkan hasil scanning yang dibutuhkan oleh pengguna.

  1.3 Batasan Masalah Sedangkan batasan masalah pada proyek akhir ini, antara lain yang digunakan: a) Bahasa yang digunakan adalah PHP dan software development yang digunakan adalah Adobe Macromedia Dreamwaver.

  b) Aplikasi web yang dapat dipindai adalah aplikasi web yang dibangun dengan menggunakan bahasa pemrograman PHP dengan MySQL sebagai

  DBMS .

  1.4 Tujuan Tujuan proyek akhir ini adalah untuk membangun aplikasi web vulnerability

  scanner menggunakan PHP. Adapun manfaat dengan dibangunnya aplikasi ini adalah untuk mendeteksi kelemahan web terhadap serangan SQL Injection.

  1.5 Manfaat Berdasarkan dari latar belakang diatas maka dapat dirumuskan masalah sebagai berikut:

  5 a. Membangun web secara secure.

  Membuat website dengan tingkat kemanan yang tinggi sehingga tidak mudah untuk dirusak atau dimasuki oleh pihak – pihak tertentu.

  b. Terhindar dari defacer website.

  Website bebas dari para perusak tampilan pada website yang telah dibangun, bahkan menghapus seluruh data yang ada di dalam database.

  c. Mendeteksi kelemahan web terhadap serangan SQL Injection.

  Mendeteksi salah satu jenis serangan web yang dilakukan dengan memanfaatkan kelemahan pada suatu aplikasi web sehingga memungkinkan aplikasi untuk menginjeksikan suatu tag HTML pada aplikasi web tersebut dikarenakan adanya variabel yang tidak disanitasi dengan baik.

  1.6 Metodologi Penelitian Dalam pengerjaan proyek akhir ini meliputi langkah-langkah sebagai berikut:

  1. Studi Liter atur Pada tahap ini dilakukan studi literatur dari beberapa referensi baik itu dari buku atau internet.

  2. Per ancangan Sistem Pada tahap ini dilakukan perancangan sistem yang akan dibangun, meliputi perancangan database, perancangan sistem dan pembuatan user

  interface .

  6

  3. Per siapan Data Data-data penunjang yang didapatkan berupa suatu kesimpulan, fakta- fakta dan aturan yang mengatur proses pencarian data yang saling berhubungan satu sama lain disimpan ke dalam basis data RDBMS (Relational DataBase Management System) sebagai media penyimpanan.

  4. Pengujian dan Analisa Pengujian dan analisa dimaksudkan untuk mengetahui sejauh mana sistem yang dibuat pada proyek akhir ini dapat berfungsi sesuai dengan proses sistem yang diharapkan.

  5. Kesimpulan Dibuat kesimpulan dari pengujian sistem proyek akhir dengan membandingkan apakah hasilnya seperti yang diharapkan pada tujuan proyek akhir sebelumnya.

  6. Pembuatan Lapor an Membuat dokumentasi dari semua tahapan proses diatas berupa laporan yang berisi tentang dasar teori, hasil proyek akhir dan hasil analisis.

  1.7 Sistematika Penelitian Sistematika pembahasan yang akan diuraikan dalam buku laporan proyek akhir ini terbagi dalam beberapa bab yang akan dibahas sebagai berikut:

  BAB I PENDAHULUAN Bab ini berisi tentang pendahuluan yang terdiri dari latar belakang, perumusan masalah, batasan masalah, tujuan dan sasaran, metodologi, serta sistematika pembahasan dari proyek akhir ini.

  7

  BAB II TEORI PENUNJ ANG Bab ini membahas mengenai teori-teori yang berkaitan dengan penyelesaian proyek akhir, yang didapatkan dari berbagai macam buku serta sumber-sumber terkait lainnya yang berhubungan dengan pembuatan proyek akhir ini.

  BAB III PERANCANGAN SISTEM Bab ini membahas mengenai perancangan sistem, meliputi perancangan hirarki, perancangan proses, dan perancangan user

  interface .

  BAB IV IMPLEMENTASI Bab ini membahas mengenai implementasi sistem. BAB V UJ I COBA DAN ANALISA Bab ini menyajikan dan menjelaskan seluruh hasil dan analisa dalam pembuatan proyek akhir ini dan bagaimana penyelesaian dari setiap permasalahan error yang terjadi pada sistem operasi Windows.

  BAB VI PENUTUP Bab ini berisi kesimpulan dari uji coba perangkat lunak, dan saran untuk pengembangan, perbaikan serta penyempurnaan terhadap aplikasi yang telah dibuat.