• Tidak ada hasil yang ditemukan

SKRIPSI IMPLEMENTASI KEAMANAN OWASP TERHADAP APLIKASI BERBASIS GTFW. MUHAMMAD FARIS AFIF Nomor Mahasiswa :

N/A
N/A
Protected

Academic year: 2021

Membagikan "SKRIPSI IMPLEMENTASI KEAMANAN OWASP TERHADAP APLIKASI BERBASIS GTFW. MUHAMMAD FARIS AFIF Nomor Mahasiswa :"

Copied!
17
0
0

Teks penuh

(1)

SKRIPSI

IMPLEMENTASI KEAMANAN OWASP TERHADAP

APLIKASI BERBASIS GTFW

MUHAMMAD FARIS ‘AFIF Nomor Mahasiswa : 135410086

PROGRAM STUDI TEKNIK INFORMATIKA

SEKOLAH TINGGI MANAJEMEN INFORMATIKA DAN KOMPUTER AKAKOM YOGYAKARTA

(2)

SKRIPSI

IMPLEMENTASI KEAMANAN OWASP

TERHADAP APLIKASI BERBASIS GTFW

Di Susun Oleh:

Muhammad Faris ‘Afif Nomor Mahasiswa : 135410086

PROGRAM STUDI TEKNIK INFORMATIKA

SEKOLAH TINGGI MANAJEMEN INFORMATIKA DAN KOMPUTER AKAKOM YOGYAKARTA

(3)
(4)
(5)

HALAMAN PERSEMBAHAN

Dengan mengucapkan syukur Alhamdulillah, atas rahmat dan hidayah-Nya, saya dapat menyelesaikan skripsi ini dengan baik. Kupersembahkan Skripsi ini kepada :

1. Kedua orang tua beserta keluarga yang selama ini telah memberikan dukungan yang besar baik berupa moral maupun berupa materil, tanpa mereka tugas akhir ini tidak mungkin dapat terselesaikan.

2. Teman-teman angkatan 2013, Teman-teman kost ku, bapak kost dan teman-teman lainnya yang tidak bisa disebutkan satu persatu.

3. Untuk teman-teman FOSA (Forum Opensource Akakom). Terima kasih atas dukungan kalian, tetap jaga kekompakkan kita yang belum lulus buruan nyusul.

4. Untuk teman-teman komunitas Kali Linux Indonesia, Dracos Linux, Ubuntu Indonesia, Linux From Scratch dan ECHO (Indonesian

Community for Hacker and Opensource).

5. Untuk Mas Dyan Galih dan Mas Prasodjo, atas bantuan menyelesaikan masalah yang aku hadapi.

(6)

HALAMAN MOTO

~ Kerjakan apa yang menjadi urusan sekarang dengan maksimal, hari kemarin sebagai pembelajaran untuk lebih baik, buat impian untuk hari esok yang akan

datang ~

(Penulis)

~ Mengeluh bukan kunci setiap masalah ~

~ Jangan pernah berharap lebih kepada sesuatu, karena itu akan menyakitkan ~

~ Always, Be positive thingking ~

(Penulis)

Kami adalah sekumpulan individu yang ingin bebas memacu kinerja otak dan adrenalin di tubuh kami; ingin bebas melakukan hal-hal menarik yang sulit terpecahkan bahkan mustahil sekalipun;ingin bebas meneliti untaian kode yang ada, mencari kelemahan bukan untuk melemahkan;ingin bebas bertukar, belajar dan berbagi semua kemurnian ilmu pengetahuan; bukan oleh aturan-aturan yang telah ditentukan dan dikendalikan ketamakan; bukan demi setumpuk kekayaan, kejayaan ataupun keabadian; bukan pula untuk merusak, menakuti atau bahkan menghancurkan; tetapi hanya demi kenyataan bahwa kami sama.

(7)

INTISARI

Aplikasi web yang digunakan dalam beberapa segmen atau industri memerlukan standar keamanan yang baik, terlebih lagi jika aplikasi tersebut digunakan untuk segmen perbankan, layanan publik, dan e-commerce. Keamanan suatu aplikasi web sangat penting untuk mengamankan confidentiality, integrity dan availability dari data, serta informasi dan layanan yang dimilikinya. Untuk menjamin kemanan aplikasi tersebut, perlu adanya pengujian keamanan terhadap aplikasi web menggunakan metode dan alat pengujian yang sesuai.

Gamatechno Web Application Framework atau yang biasa disingkat

GTFW, merupakan framework aplikasi web menggunakan PHP yang dikembangkan oleh PT Gamatechno Indonesia. Sejak Gamatechno berdiri pada tahun 2005, telah banyak aplikasi berbasis GTFW yang diimplementasikan di ratusan klien pada segmen akademik, pemerintahan maupun korporasi. Gamatechno saat ini menyediakan informasi tentang framework ini secara terbuka di laman web dan berusaha terus mengembangkan GTFW dari sisi teknologi dan keamanannya.

Aplikasi Xplorin yang menjadi obyek penelitian merupakan salah satu aplikasi berbasis GTFW versi terbaru. Xplorin adalah platform pariwisata yang menyediakan informasi 10 dinasti pariwisata terfavorit di Indonesia. Di dalam aplikasi ini akan terdapat beberapa fitur yang memerlukan keamanan yang baik, di antaranya adalah fitur transaksi pembayaran tiket transportasi dan akomodasi, serta sosial media. Pengujian keamanan aplikasi Xplorin dilakukan dengan menggunakan metode Grey Box. Kerentanan aplikasi yang akan diuji adalah pada hal session management dan input validation. Pengujian input validation meliputi

HTTP verb tampering, stored cross site scripting, dan OS command injection.

Dalam penelitian ini, metode pengujian aplikasi mengikuti panduan dari Open

Web Application Security Project (atau disingkat OWASP) versi 4.

Dari hasil pengujian, aplikasi Xplorin diketahui memiliki kerentanan keamanan dari aspek Session Management yaitu cookie attributes, session time

out dan CSRF. Kemudian dari aspek Input Validation terdapat kerentanan pada store cross site scripting. Keamanan terhadap kerentanan ini belum

diimplementasikan dengan baik pada aplikasi Xplorin, sehingga perlu adanya perbaikan. Melalui hasil penelitian ini diharapkan aplikasi Xplorin dapat menjadi lebih aman setelah dilakukan upaya perbaikan. Selain itu, hasil pengujian dan perbaikan keamanan pada aplikasi ini bisa menjadi lesson learned bagi pengembangan aplikasi lain yang berbasis GTFW.

(8)

KATA PENGANTAR

Puji syukur penulis panjatkan kehadirat Allah SWT, karena limpahan rahmat, hidayah, dan inayah-Nya skripsi ini dapat diselesaikan. Sholawat beserta salam semoga selalu tercurahkan kepada manusia teragung baginda Rasulullah Muhammad Shallallahu ‘alaihi wasallam. Skripsi yang berjudul “Implementasi Keamanan OWASP Terhadap Aplikasi Berbasis GTFW” ini penulis susun untuk memenuhi persyaratan kurikulum sarjana strata-1 (S-1) pada Jurusan Teknik Informatika, STMIK AKAKOM Yogyakarta. Penulis mengucapkan terima kasih sebesar-besarnya atas semua bantuan maupun saran yang telah diberikan, baik secara langsung maupun tidak langsung selama penyusunan tugas akhir ini. Secara khusus rasa terimakasih kami sampaikan kepada:

1. Bapak Cuk Subiyantoro, S.Kom., M.Kom. selaku Ketua Sekolah Tinggi Manajemen Informatika dan Komputer AKAKOM Yogyakarta.

2. Bapak Ir. M. Guntara, M.T. selaku Ketua Jurusan Teknik Informatika Sekolah Tinggi Manajemen Informatika dan Komputer AKAKOM Yogyakarta dan dosen pembimbing yang telah banyak memberikan dorongan dalam penyusunan skripsi ini.

3. Bapak Ir. Sudarmanto, M.T. dan Ibu Dini Fakta Sari, ST., M.T. sebagai dosen penguji yang juga telah banyak memberi arahan.

(9)

4. Bapak Novan Hartadi, S.T, M.Sc. selaku General Manager Research and

Business Development PT Gamatechno Indonesia.

5. Seluruh staff dan karyawan Sekolah Tinggi Manajemen Informatika dan Komputer AKAKOM Yogyakarta.

Penulisan Skripsi ini merupakan persyaratan akhir dari mahasiswa di jurusan Teknik Informatika, STMIK AKAKOM untuk memperoleh gelar sarjana. Penulis menyadari bahwa Skripsi ini jauh dari kesempurnaan, maka semua kritik dan saran yang bersifat membangun akan selalu diterima. Semoga yang sedikit ini memberikan manfaat terutama bagi kelanjutan studi penulis.

Yogyakarta, ... Agustus 2017

(10)

DAFTAR ISI

HALAMAN JUDUL...i HALAMAN PERSETUJUAN...ii HALAMAN PENGESAHAN...iii HALAMAN PERSEMBAHAN...iv HALAMAN MOTO...v INTISARI...vi KATA PENGANTAR...vii DAFTAR ISI...x DAFTAR GAMBAR...xiv DAFTAR TABEL...xvi BAB 1 PENDAHULUAN...1 1.1. Latar Belakang...1 1.2. Rumusan Masalah...2 1.3. Ruang Lingkup...2 1.4. Tujuan Penelitian...3 1.5. Manfaat Penelitian...3 1.6. Sistematika Penulisan...3

BAB 2 TINJAUAN PUSTAKA DAN DASAR TEORI...5

2.1. Tinjauan Pustaka...5

(11)

2.2.1. Open Web Application Security Project (OWASP)...7

2.2.2. OWASP Testing Guide...8

2.2.3. Gamatechno Application Framework (GTFW)...13

2.2.4. Session Management...14

2.2.5. Input Validation...15

2.2.6. HTTP Verb Tampering...15

2.2.7. OS Command Injection...16

2.2.8. Stored Cross Site Scripting...16

BAB 3 METODE PENELITIAN...18

3.1. Alat/Bahan...18

3.2. Topologi Web Server...19

3.3. Rancangan Server...20

3.4. Rancangan Aplikasi Web Xplorin...21

3.5. Metode Penelitian...24

3.6. Kebutuhan Perangkat Keras...25

3.7. Kebutuhan Perangkat Lunak...26

3.8. Kebutuhan Keluaran...27

BAB 4 IMPLEMENTASI DAN PEMBAHASAN...28

4.1. Implementasi dan Konfigurasi Aplikasi Xplorin...28

4.2. Information Gathering...30

(12)

4.3.1. Pengujian Bypassing Session Management Schema

(OTG-SESS-001)...34

4.3.2. Pengujian Cookies Attributes (OTG-SESS-002)...37

4.3.3. Pengujian CSRF (OTG-SESS-005)...39

4.3.4. Pengujian Logout functionality (OTG-SESS-006)...44

4.3.5. Pengujian Session Timeout (OTG-SESS-007)...46

4.3.6. Hasil Pengujian Session Management...47

4.4. Pengujian Input Validation...48

4.4.1. HTTP Verb Tampering (OTG-INPVAL-003)...48

4.4.2. Stored Cross Site Scripting (OTG-INPVAL-002)...48

4.4.3. OS Command Injection (OTG-INPVAL-013)...50

4.4.4. Hasil Pengujian Input Validation...50

4.5. Analisa Kerentanan...51

4.5.1. Bypassing Session Management Schema...51

4.5.2. Cookies Attributes (OTG-SESS-002)...51

4.5.3. CSRF (OTG-SESS-005)...53

4.5.4. Logout Functionality...54

4.5.5. Session Timeout (OTG-SESS-007)...55

4.5.6. HTTP Verb Tampering...56

4.5.7. Stored Cross Site Scripting (OTG-INPVAL-002)...57

4.5.8. OS Command Injection...58

(13)

4.6.1. Pencegahan Kerentanan Session Management...59

4.6.2. Pencegahan Kerentanan Input Validation...60

BAB 5 KESIMPULAN DAN SARAN...61

5.1. Kesimpulan...61

5.2. Saran...62

DAFTAR PUSTAKA...63

(14)

DAFTAR GAMBAR

Gambar 2.1: Tingkat kemungkinan dan dampak...8

Gambar 2.2: Keseluruhan tingkat resiko kerentanan...13

Gambar 2.3: Contoh kerentanan os command injection...16

Gambar 2.4: Contoh kerentanan stored XSS...17

Gambar 3.1: Topologi web server...19

Gambar 3.2: Rancangan server...20

Gambar 3.3: Tampilan halaman login aplikasi xplorin...21

Gambar 3.4: Halaman dashboard aplikasi xplorin...22

Gambar 3.5: Halaman fitur see aplikasi xplorin...22

Gambar 3.6: Halaman fitur user aplikasi xplorin...23

Gambar 3.7: Flowcart penelitian...24

Gambar 4.1: Struktur direktori aplikasi xplorin...28

Gambar 4.2: Information gathering dari aplikasi dirbuster...31

Gambar 4.3: Information gathering dari wappalyzer...31

Gambar 4.4: Information gathering dari nmap...32

Gambar 4.5: Response header saat membuka halaman login...34

Gambar 4.6: Response header setelah login...35

Gambar 4.7: Data sampel sequencer burpsuite...35

Gambar 4.8: Grafik analisis karakter dari data sampel...36

(15)

Gambar 4.10: Response login success dari pengguna...37

Gambar 4.11: Menguji dengan mengganti cookie pada halaman login...38

Gambar 4.12: Menguji dengan mengganti cookie pada menu navigasi...38

Gambar 4.13: Menguji dengan mengganti cookie pada halaman dashboard...38

Gambar 4.14: Hasil respon login dari komputer guest...39

Gambar 4.15: Pengujian berhasil masuk halaman dashboard...39

Gambar 4.16: Tampilan antarmuka kode CSRF...40

Gambar 4.17: Potongan kode untuk menguji kerentanan CSRF...41

Gambar 4.18: Data user super administrator sebelum kode CSRF dijalankan...42

Gambar 4.19: Data user super administrator setelah kode CSRF di jalankan...42

Gambar 4.20: Pemberitahuan login gagal user super administrator...43

Gambar 4.21: Tombol log out di halaman home...44

Gambar 4.22: Tombol log out di halaman page...44

Gambar 4.23: Tombol log out di halaman managemen user...45

Gambar 4.24: Halaman diarahkan ke halaman log in setelah log out...45

Gambar 4.25: Menguji aktifitas website dengan chrome devtools...46

Gambar 4.26: Menguji Store XSS dengan kode Javascript...48

Gambar 4.27: Notifikasi data berhasil disimpan...48

Gambar 4.28: Hasil kode uji XSS...49

(16)

DAFTAR TABEL

Tabel 2.1: Perbandingan...5

Tabel 2.2: Perbandingan...6

Tabel 2.3: Faktor kemungkinan threat agent...9

Tabel 2.4: Faktor kemungkinan vulnerability...10

Tabel 2.5: Faktor dampak technical impact factors...11

Tabel 2.6: Faktor dampak business impact factors...12

Tabel 3.1: Detail konfigurasi server...21

Tabel 4.1: Konfigurasi database...30

Tabel 4.2: Data uji CSRF...40

Table 4.3: Data uji CSRF...41

Tabel 4.4: Hasil pengujian session management...47

Tabel 4.5: Hasil pengujian input validation...50

Tabel 4.6: Hasil pengujian input validation...51

Tabel 4.7: Faktor kemungkinan cookie attributes...52

Tabel 4.8: Faktor dampak cookie attributes...52

Tabel 4.9: Faktor kemungkinan CSRF...53

Tabel 4.10: Faktor dampak CSRF...54

Tabel 4.11: Faktor kemungkinan session timeout...55

Tabel 4.12: Faktor dampak session timeout...56

(17)

Tabel 4.14: Faktor dampak stored cross site scripting...57 Tabel 4.15: Pencegahan kerentanan session management...59 Tabel 4.16: Pencegahan kerentanan input validation...60

Referensi

Dokumen terkait

d) Hitung juga berapa nilai void ratio (e) dari lempung tersebut untuk kondisi penurunan ultimit pada soal no.c di atas. e) Apabila penurunan ultimit tersebut dianggap telah

Oleh karena itu penulis mencoba untuk membuat Tugas Perancangan Kapal Tanker pelayaran Balikpapan – Jakarta, yang dapat mengangkut bahan bakar minyak sebagai

Pantai Eri memiliki tipe pantai yang landai dengan beberapa tipe substrat yaitu: berbatu (keras), berbatu pasir, pasir, berkarang dan berkarang pasir yang merupakan

Struktur tematis dan retoris sejalan dengan struktur skrip yang menggambarkan Ahok sebagai pemimpin yang tegas dan berani didukung oleh struktur sintaktik dimana berita

Dapat disimpulkan bahwa rekayasa perangkat lunak adalah suatu rangkaian proses dari awal sampai akhir dengan menggunakan metode- metode atau teknik-teknik tertentu dalam

Preprocessing data telah dilakukan sesuai dengan proses yang ada pada KDD, dengan menghasilkan set data yang baru hasil dari penggabungan dua sumber data yang berbeda yaitu

Di atas persetujuan pihak Koperasi Polis Diraja Malaysia Berhad (“KPDRM”) untuk menerima arahan potongan gaji saya secara tidak terbatal bagi bayaran balik pembiayaan

Dalam memenuhi kebutuhan sistem informasi yang diperlukan oleh Felindo Jaya, maka dilakukanlah analisis dan perancangan sistem pembelian dan utang yang bertujuan untuk