• Tidak ada hasil yang ditemukan

PENDETEKSI CELAH KEAMANAN PADA APLIKASI WEB DENGAN PENETRATION TESTING MENGGUNAKAN DATA VALIDATION TESTING SKRIPSI INDRA M.

N/A
N/A
Protected

Academic year: 2022

Membagikan "PENDETEKSI CELAH KEAMANAN PADA APLIKASI WEB DENGAN PENETRATION TESTING MENGGUNAKAN DATA VALIDATION TESTING SKRIPSI INDRA M."

Copied!
14
0
0

Teks penuh

(1)

PENDETEKSI CELAH KEAMANAN PADA APLIKASI WEB DENGAN PENETRATION TESTING MENGGUNAKAN

DATA VALIDATION TESTING

SKRIPSI

INDRA M. NABABAN 101402064

PROGRAM STUDI S1 TEKNOLOGI INFORMASI

FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI UNIVERSITAS SUMATERA UTARA

MEDAN

2014

(2)

PENDETEKSI CELAH KEAMANAN PADA APLIKASI WEB DENGAN PENETRATION TESTING MENGGUNAKAN DATA VALIDATION TESTING

SKRIPSI

Diajukan untuk melengkapi tugas dan memenuhi syarat memperoleh ijazah Sarjana Teknologi Informasi

INDRA M. NABABAN 101402064

PROGRAM STUDI S1 TEKNOLOGI INFORMASI

FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI UNIVERSITAS SUMATERA UTARA

MEDAN 2014

(3)

PERSETUJUAN

Judul : PENDETEKSI CELAH KEAMANAN PADA APLIKASI

WEB DENGAN PENETRATION TESTING

MENGGUNAKAN DATA VALIDATION TESTING

Kategori : SKRIPSI

Nama : INDRA M. NABABAN

Nomor Induk Mahasiswa : 101402064

Program Studi : S1 TEKNOLOGI INFORMASI

Departemen : TEKNOLOGI INFORMASI

Fakultas : ILMU KOMPUTER DAN TEKNOLOGI INFORMASI

UNIVERSITAS SUMATERA UTARA Komisi Pembimbing :

Pembimbing 2 Pembimbing 1

Baihaqi Siregar S.Si., M.T Romi Fadillah Rahmat, B.Comp.Sc M.Sc NIP. 19790108 201212 1 002 NIP. 19860303 201012 1 004

Diketahui/disetujui oleh

Program Studi S1 Teknologi Informasi Ketua,

Muhammad Anggia Muchtar, ST., MM.IT NIP. 19800110 200801 1 010

(4)

PERNYATAAN

PENDETEKSI CELAH KEAMANAN PADA APLIKASI WEB DENGAN PENETRATION TESTING MENGGUNAKAN DATA VALIDATION TESTING

SKRIPSI

Saya mengakui bahwa skripsi ini adalah hasil karya saya sendiri, kecuali beberapa kutipan dan ringkasan yang masing-masing telah disebutkan sumbernya.

Medan, 14 Oktober 2014

Indra M. Nababan 101402064

(5)

UCAPAN TERIMA KASIH

Puji dan syukur penulis sampaikah kehadirat Tuhan Yang Maha Esa yang telah memberikan rahmat serta restu-Nya sehingga penulis dapat menyelesaikan skripsi ini sebagai syarat untuk memperoleh gelar Sarjana Teknologi Informasi.

Pertama, penulis ingin mengucapkan terima kasih kepada Bapak Romi Fadillah Rahmat, B.Comp.Sc. M.Sc selaku pembimbing pertama dan Bapak Baihaqi Siregar S.Si., M.T, selaku pembimbing kedua yang telah membimbing penulis dalam penelitian serta penulisan skripsi ini. Tanpa inspirasi serta motivasi yang diberikan dari kedua pembimbing, tentunya penulis tidak akan dapat menyelesaikan skripsi ini. Penulis juga mengucapkan terima kasih kepada Sarah Purnawati, ST., M.Sc sebagai dosen pembanding pertama dan Bapak Drs. Sawaluddin, M. IT sebagai dosen pembanding kedua yang telah memberikan masukan serta kritik yang bermanfaat dalam penulisan skripsi ini. Ucapan terima kasih juga ditjukan kepada semua dosen serta semua pegawai pada program studi S1 Teknologi Informasi, yang telah membantu serta membimbing penulis selama proses perkuliahan.

Penulis tentunya tidak lupa berterima kasih kepada kedua orang tua penulis, Bapak penulis M. Nababan, serta M. Hutagaol yang telah membesarkan penulis dengan sabar dan penuh cinta. Penulis juga berterima kasih kepada seluruh anggota keluarga penulis yang namanya tidak dapat disebutkan satu satu.

Terima kasih juga penulis ucapkan kepada seluruh teman-teman angkatan 2010 yang telah bersama-sama penulis melewati perkuliahan pada program studi S1 Teknologi Informasi, serta teman-teman mahasiswa Teknologi Informasi lainnya. Secara khusus, penulis juga mengucapkan terima kasih kepada Sarah Hutagaol yang selalu memotivasi dan memberikan perhatiannya kepada penulis.

(6)

ABSTRAK

Kejahatan baru di bidang komputer muncul sejak berkembang pesatnya teknologi informasi dengan adanya internet. Aplikasi web masih sering diserang untuk mendapatkan informasi sensitif dari aplikasi web tersebut seperti pencurian informasi, pembajakan akun dan lain sebagainya. Resiko ini disebabkan kesalahan aplikasi web dalam menangani input yang datang dari pengguna. Input validation vulnerability ini dieksploitasi para cracker dengan cara yang paling sering seperti SQL Injection, Cross Site Scripting, dan File Inclusion. Untuk membantu para developer dan pemilik website untuk menemukan kelemahan-kelemahan ini pada aplikasi adalah dengan menggunakan aplikasi pendeteksi celah keamanan. Metode yang digunakan dalam penelitian ini adalah penggunaan Penetration Testing yang difokuskan untuk menguji validasi input dengan menggunakan Data Validation Testing untuk mendeteksi celah keamanan pada aplikasi web. Data Validation Testing yang digunakan untuk menguji dalam bentuk injeksi karakter-karakter biasa ataupun karakter yang di-encode ke dalam karakter hex untuk melewati beberapa filter para developer website. Aplikasi ini mendeteksi celah keamanan yang rentan terhadap SQL Injection, Blind SQL Injection, Cross Site Scripting, dan File Inclusion. Pada penelitian ini ditunjukkan bahwa metode yang diajukan mampu mendeteksi celah keamanan pada aplikasi web.

Kata Kunci : celah keamanan, Data Validation Testing, Penetration Testing, SQL Injection, Cross Site Scripting.

(7)

WEB APPLICATION VULNERABILITY DETECTOR WITH PENETRATION TESTING USING DATA VALIDATION TESTING

ABSTRACT

New crime in field computer have emerged since the rapid growth of information technology with the internet. The web application is still often attacked to obtain sensitive information from web applications such as information theft, account hijacking, and so forth. This risk is due to errors in the web application handles input coming from the user.

Input validation vulnerability is exploited by crackers most often attack such as SQL Injection, Cross Site Scripting and File Inclusion. To helping developers and website owners to find vulnerability in their application is using vulnerability detection applications . In this study Penetration Testing with using Data Validation Testing is focused to testing input validation is used to detect vulnerability in web applications. Data Validation Testing is used to test the injectable forms of ordinary characters, or characters that are encoded into hex characters to pass through several filters the developers website.

This application detects vulnerability that are vulnerable to SQL Injection, Blind SQL Injection, Cross Site Scripting and File Inclusion. In this study indicated that the proposed method is able to detect vulnerability in web applications.

Keywords: vulnerability, Data Validation Testing, Penetration Testing, SQL Injection, Cross Site Scripting.

(8)

DAFTAR ISI

Hal.

Persetujuan ii

Pernyataan iii

Ucapan Terima Kasih iv

Abstrak v

Abstract vi

Daftar Isi vii

Daftar Tabel xi

Daftar Gambar xii

BAB 1 Pendahuluan 1

1.1. Latar Belakang 1

1.2. Rumusan Masalah 3

1.3. Tujuan Penelitian 3

1.4. Batasan Masalah 3

1.5. Manfaat Penelitian 3

1.6. Metodologi Penelitian 4

1.7. Sistematika Penulisan 4

BAB 2 Landasan Teori 6

2.1. Keamanan Informasi 6

(9)

2.3.1. Aplikasi web 8

2.3.2. Keamanan aplikasi web 9

2.4. Celah Keamanan /Vulnerability 10

2.4.1 Celah keamanan pada aplikasi web 11

2.5. Identifikasi Jenis Serangan pada Aplikasi web 12

2.5.1 SQL Injection 13

2.5.2 Cross Site Scripting 15

2.5.3 Remote File inclusion 16

2.5.4 Local File Inclusion 17

2.6. Penetration Testing 18

2.6.1 Tipe Penetration Testing 18

2.6.2 Tahapan Penetration Testing 19

2.7. Penetration Testing Aplikasi Website 20

2.8. P enelitian Terdahulu 22

BAB 3 Analisis dan Perancangan 24

3.1. Identifikasi Masalah 24

3.2. Analisis Sistem 25

3.2.1 Tahap crawling 28

3.2.2 Proses attack scenario 29

3.2.3 Proses vulnerability discovery 30

3.2. Proses Menguji Celah Keamanan Aplikasi Web 32 3.3.1 Proses menguji serangan SQL Injection 32

(10)

3.3.3 Proses menguji serangan File Inclusion 38

3.4. Perancangan Sistem 40

3.4.1. Fungsi utama 41

3.4.2. Batasan- batasan 41

3.4.3. Data yang digunakan 41

3.4.4. Analisis pengguna 41

3.4.5. Diagram use case 42

3.4.6 Diagram aktivitas 43

3.5 Perancangan User Interface 44

3.5.1 Rancangan halaman utama 45

3.5.2 Rancangan halaman tutorial aplikasi 46

3.5.3 Rancangan halaman about 46

3.5.4 Rancangan halaman testing 47

BAB 4 Implementasi dan Pengujian 49

4.1. Implementasi Sistem 49

4.1.1 Spesifikasi perangkat keras dan perangkat lunak yang

digunakan 49

4.1.2 Implementasi penetration testing menggunakan data

validation testing 50

4.1.3 Implementasi perancangan antarmuka pengguna 50

4.2. Pengujian Sistem 53

4.2.1. Pengujian kinerja antarmuka pengguna 54

(11)

SQL Injection 60 4.3.3 Hasil pengujian aplikasi web dan solusi terhadap

Cross Site Scripting 63

4.3.4 Hasil pengujian aplikasi web dan solusi terhadap

Cross Site Scripting 65

BAB 5 Kesimpulan dan Saran 68

5.1. Kesimpulan 68

5.2. Saran 69

Daftar Pustaka 70

Lampiran A : Tabel 73

Lampiran B : Potongan Source Code Aplikasi 79

(12)

DAFTAR TABEL

Hal.

Tabel 2.1 WHID top 10 attacks methods (Krawczyk, 2013) 12

Tabel 2.2 Penelitian Terdahulu 23

Tabel 3.1 Use case spesifikasi untuk use case pendeteksi vulnerability 42

Tabel 4.1 Rencana pengujian 54

Tabel 4.2 Hasil pengujian halaman utama 54

Tabel 4.3 Hasil pengujian halaman tutorial aplikasi 54

Tabel 4.4 Hasil pengujian halaman about 56

Tabel 4.5 Hasil pengujian halaman testing 56

Tabel 4.6 Sampel alamat website 57

Tabel 4.11 Hasil penetration testing 59

(13)

Hal.

Gambar 2.1 Contoh Website Tradisional yang Hanya Berisi Informasi Statis

(Stuttard, 2011)) 8

Gambar 2.2 Arsitektur Sederhana 3 tier (Clarke, 2009) 13

Gambar 2.3 Contoh Kode PHP (Clarke, 2009) 14

Gambar 2.4 Contoh Halaman Terinfeksi ( Grossman et all, 2007) 15

Gambar 3.1 Arsitektur Umum Aplikasi 25

Gambar 3.2 Gambaran Umum Metode Penetration Testing 27

Gambar 3.3 Flowchart Crawling URL Website 28

Gambar 3.4 Flowchart Skenario Penyerangan Secara Umum 30 Gambar 3.5 Flowchart Vulnerability Discovery Secara Umum 31

Gambar 3.6 Flowchart Testing SQL Injection 32

Gambar 3.7 Flowchart Testing Cross Site Scripting 36

Gambar 3.8 Flowchart Testing File Inclusion 40

Gambar 3.9 Diagram Use Case Pendeteksi Celah Keamanan 42

Gambar 3.10 Diagram Aktivitas Sistem 44

Gambar 3.11 Rancangan Halaman Utama 45

Gambar 3.12 Rancangan Halaman Tutorial 46

Gambar 3.13 Rancangan Halaman About 47

Gambar 3.14 Rancangan Halaman Testing 48

(14)

Gambar 4.2 Halaman Tutorial Aplikasi 51

Gambar 4.3 Halaman About 52

Gambar 4.4 Halaman Tutorial Aplikasi 53

Gambar 4.4 Sample 1 Pengujian SQL Injection Situs http://www.raahauges.com/ 58 Gambar 4.5 Contoh Halaman Sampel 1 yang terdapat error default database SQL 60 Gambar 4.6 Contoh Halaman Sampel 2 yang terdapat error default database SQL 61 Gambar 4.7 Contoh Halaman Sampel 4 yang terdapat error default database SQL 61 Gambar 4.8 Contoh Halaman Sampel 1 yang terdapat tag injeksi HTML 64 Gambar 4.9 Contoh Halaman Sampel 2 yang terdapat tag injeksi HTML 65 Gambar 4.10 Contoh Halaman Sampel 4 yang terdapat tag injeksi HTML 65

Referensi

Dokumen terkait

Tujuan penelitian ini untuk mendeskripsikan komposisi jenis makro alga yang ditemukan, menghitung kepadatan, besar populasi, biomassa maksimum, dan pola distribusi komunitas

201.. dikan anak usia dini, akan mudah tergelincir pada praktek-praktek bernuansa “Akademik” sebagaimana terjadi di sebagian TK dewasa ini. Orangtua sangat berperan dalam

Hal ini disebabkan sinkretisme budaya Melayu yang berlaku dalam kalangan komuniti Cina Muslim pasca pemelukan Islam di negeri Terengganu pada praktiknya merupakan kesan

Kromatografi Cair Tenaga Tinggi (KCKT) atau biasa juga disebut dengan High Performance Liquid Chromatography (HPLC) merupakan metode yang tidak destruktif dan

Istilah otonomi mempunyai makna kebebasan atau kemandirian (zelftan- digheid) tetapi bukan kemerdekaan (onafharzkelijkheid). Kebebasan yang terbatas atau kemandirian

Dari perhitungan analisis overlay dapat diketahui bahwa dari 9 jenis pajak daerah dan 19 jenis retribusi darah yang berada di kabupaten Aceh Tengah yang teridentifikasi sebagai

Cl 2 mempunyai keelektronegatifan yang sama sehingga memasangkan elektron valensinya, sedangkan Na 2 mempunyai energi ionisasi yang kecil sehingga mudah melepas elektron, dan

Dilihat dari sifat kimia, perendaman 24 jam dan perebusan 90 menit baik dengan kulit maupun tanpa kulit meningkatkan kadar air, namun dapat menurunkan kadar abu, protein, lemak,